#
# 
# Copyright (c) 2007, Oracle and/or its affiliates. All rights reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License version 2 only, as
# published by the Free Software Foundation.  Oracle designates this
# particular file as subject to the "Classpath" exception as provided
# by Oracle in the LICENSE file that accompanied this code.
#
# This code is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
# version 2 for more details (a copy is included in the LICENSE file that
# accompanied this code).
#
# You should have received a copy of the GNU General Public License version
# 2 along with this work; if not, write to the Free Software Foundation,
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
# or visit www.oracle.com if you need additional information or have any
# questions.
#

# Version

# Uses SuSE 10.2 fonts and file paths.
version=1

# Component Font Mappings

dialog.plain.latin-1=Albany AMT
dialog.plain.japanese-x0208=Sazanami Gothic
dialog.plain.korean=UnDotum

dialog.bold.latin-1=Albany AMT Bold
dialog.bold.japanese-x0208=Sazanami Gothic
dialog.bold.korean=UnDotum Bold

dialog.italic.latin-1=Albany AMT Italic
dialog.italic.japanese-x0208=Sazanami Gothic
dialog.italic.korean=UnDotum

dialog.bolditalic.latin-1=Albany AMT Bold Italic
dialog.bolditalic.japanese-x0208=Sazanami Gothic
dialog.bolditalic.korean=UnDotum Bold


sansserif.plain.latin-1=Albany AMT
sansserif.plain.japanese-x0208=Sazanami Gothic
sansserif.plain.korean=UnDotum

sansserif.bold.latin-1=Albany AMT Bold
sansserif.bold.japanese-x0208=Sazanami Gothic
sansserif.bold.korean=UnDotum Bold

sansserif.italic.latin-1=Albany AMT Italic
sansserif.italic.japanese-x0208=Sazanami Gothic
sansserif.italic.korean=UnDotum

sansserif.bolditalic.latin-1=Albany AMT Bold Italic
sansserif.bolditalic.japanese-x0208=Sazanami Gothic
sansserif.bolditalic.korean=UnDotum Bold


serif.plain.latin-1=Thorndale AMT
serif.plain.japanese-x0208=Sazanami Mincho
serif.plain.korean=UnBatang

serif.bold.latin-1=Thorndale AMT Bold
serif.bold.japanese-x0208=Sazanami Mincho
serif.bold.korean=UnBatang Bold

serif.italic.latin-1=Thorndale AMT Italic
serif.italic.japanese-x0208=Sazanami Mincho
serif.italic.korean=UnBatang

serif.bolditalic.latin-1=Thorndale AMT Bold Italic
serif.bolditalic.japanese-x0208=Sazanami Mincho
serif.bolditalic.korean=UnBatang Bold


monospaced.plain.latin-1=Cumberland AMT
monospaced.plain.japanese-x0208=Sazanami Gothic
monospaced.plain.korean=UnDotum

monospaced.bold.latin-1=Cumberland AMT Bold
monospaced.bold.japanese-x0208=Sazanami Gothic
monospaced.bold.korean=UnDotum Bold

monospaced.italic.latin-1=Cumberland AMT Italic
monospaced.italic.japanese-x0208=Sazanami Gothic
monospaced.italic.korean=UnDotum

monospaced.bolditalic.latin-1=Cumberland AMT Bold Italic
monospaced.bolditalic.japanese-x0208=Sazanami Gothic
monospaced.bolditalic.korean=UnDotum Bold


dialoginput.plain.latin-1=Cumberland AMT
dialoginput.plain.japanese-x0208=Sazanami Gothic
dialoginput.plain.korean=UnDotum

dialoginput.bold.latin-1=Cumberland AMT Bold
dialoginput.bold.japanese-x0208=Sazanami Gothic
dialoginput.bold.korean=UnDotum Bold

dialoginput.italic.latin-1=Cumberland AMT Italic
dialoginput.italic.japanese-x0208=Sazanami Gothic
dialoginput.italic.korean=UnDotum

dialoginput.bolditalic.latin-1=Cumberland AMT Bold Italic
dialoginput.bolditalic.japanese-x0208=Sazanami Gothic
dialoginput.bolditalic.korean=UnDotum Bold

allfonts.chinese-big5=AR PL Mingti2L Big5
allfonts.chinese-gb18030=AR PL SungtiL GB

# Search Sequences

sequence.allfonts=latin-1
sequence.allfonts.Big5=chinese-big5,latin-1
sequence.allfonts.x-euc-jp-linux=japanese-x0208,latin-1
sequence.allfonts.EUC-KR=korean,latin-1
sequence.allfonts.GB18030=chinese-gb18030,latin-1
sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean

# Font File Names

filename.Albany_AMT=/usr/share/fonts/truetype/albw.ttf
filename.Albany_AMT_Bold=/usr/share/fonts/truetype/albwb.ttf
filename.Albany_AMT_Italic=/usr/share/fonts/truetype/albwb.ttf
filename.Albany_AMT_Bold_Italic=/usr/share/fonts/truetype/albwbi.ttf

filename.Thorndale_AMT=/usr/share/fonts/truetype/thowr___.ttf
filename.Thorndale_AMT_Bold=/usr/share/fonts/truetype/thowb___.ttf
filename.Thorndale_AMT_Italic=/usr/share/fonts/truetype/thowi___.ttf
filename.Thorndale_AMT_Bold_Italic=/usr/share/fonts/truetype/thowbi__.ttf

filename.Cumberland_AMT=/usr/share/fonts/truetype/cumbwr__.ttf
filename.Cumberland_AMT_Bold=/usr/share/fonts/truetype/cumbwb__.ttf
filename.Cumberland_AMT_Italic=/usr/share/fonts/truetype/cumbwi__.ttf
filename.Cumberland_AMT_Bold_Italic=/usr/share/fonts/truetype/cumbwbi_.ttf

filename.Sazanami_Gothic=/usr/share/fonts/truetype/sazanami-gothic.ttf
filename.Sazanami_Mincho=/usr/share/fonts/truetype/sazanami-mincho.ttf
filename.AR_PL_SungtiL_GB=/usr/share/fonts/truetype/gbsn00lp.ttf
filename.AR_PL_Mingti2L_Big5=/usr/share/fonts/truetype/bsmi00lp.ttf
filename.UnDotum=/usr/share/fonts/truetype/UnDotum.ttf
filename.UnDotum_Bold=/usr/share/fonts/truetype/UnDotumBold.ttf
filename.UnBatang=/usr/share/fonts/truetype/UnBatang.ttf
filename.UnBatang_Bold=/usr/share/fonts/truetype/UnBatangBold.ttf
