| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2012 Google Inc. All rights reser
ved. | 2 * Copyright (c) 2006, 2007, 2008, 2009, 2010, 2012 Google Inc. All rights reser
ved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 93 } | 93 } |
| 94 | 94 |
| 95 void initializeScriptFontMap(ScriptToFontMap& scriptFontMap, SkFontMgr* fontMana
ger) | 95 void initializeScriptFontMap(ScriptToFontMap& scriptFontMap, SkFontMgr* fontMana
ger) |
| 96 { | 96 { |
| 97 struct FontMap { | 97 struct FontMap { |
| 98 UScriptCode script; | 98 UScriptCode script; |
| 99 const UChar* family; | 99 const UChar* family; |
| 100 }; | 100 }; |
| 101 | 101 |
| 102 static const FontMap fontMap[] = { | 102 static const FontMap fontMap[] = { |
| 103 {USCRIPT_LATIN, L"times new roman"}, | 103 { USCRIPT_LATIN, L"Times New Roman" }, |
| 104 {USCRIPT_GREEK, L"times new roman"}, | 104 { USCRIPT_GREEK, L"Times New Roman" }, |
| 105 {USCRIPT_CYRILLIC, L"times new roman"}, | 105 { USCRIPT_CYRILLIC, L"Times New Roman" }, |
| 106 // FIXME: Consider trying new Vista fonts before XP fonts for CJK. | |
| 107 // Some Vista users do want to use Vista cleartype CJK fonts. If we | |
| 108 // did, the results of tests with CJK characters would have to be | |
| 109 // regenerated for Vista. | |
| 110 {USCRIPT_THAANA, L"mv boli"}, | |
| 111 {USCRIPT_MONGOLIAN, L"mongolian balti"}, | |
| 112 // For USCRIPT_COMMON, we map blocks to scripts when | 106 // For USCRIPT_COMMON, we map blocks to scripts when |
| 113 // that makes sense. | 107 // that makes sense. |
| 114 }; | 108 }; |
| 115 | 109 |
| 116 struct ScriptToFontFamilies { | 110 struct ScriptToFontFamilies { |
| 117 UScriptCode script; | 111 UScriptCode script; |
| 118 const UChar** families; | 112 const UChar** families; |
| 119 }; | 113 }; |
| 120 | 114 |
| 121 // Kartika on Vista or earlier lacks the support for Chillu | 115 // For the following scripts, multiple fonts may be listed. They are tried |
| 122 // letters added to Unicode 5.1. | 116 // in order. The first slot is preferred but the font may not be available, |
| 123 // Try AnjaliOldLipi (a very widely used Malaylalam font with the full | 117 // if so the remaining slots are tried in order. |
| 124 // Unicode 5.x support) before falling back to Kartika. | 118 // In general the order is the Windows 10 font follow by the 8.1, 8.0 and |
| 125 static const UChar* malayalamFonts[] = {L"AnjaliOldLipi", L"Lohit Malayalam"
, L"Kartika", L"Rachana", L"Nirmala UI", 0}; | 119 // finally the font for Windows 7. |
| 126 // Try Khmer OS before Vista fonts because 'Khmer OS' goes along better | 120 // For scripts where an optional or region specific font may be available |
| 127 // with Latin and looks better/larger for the same size. | 121 // that should be listed before the generic one. |
| 128 static const UChar* khmerFonts[] = {L"Leelawadee UI", L"Khmer OS", L"MoolBor
an", L"DaunPenh", L"Code2000", 0}; | 122 // Based on the "Script and Font Support in Windows" MSDN documentation [1] |
| 129 // For the following scripts, two or more fonts are listed. The fonts in | 123 // with overrides and additional fallbacks as needed. |
| 130 // the 1st slot is preferred but may not not be available on older versions | 124 // 1: https://msdn.microsoft.com/en-us/goglobal/bb688099.aspx |
| 131 // of Windows. To support these scripts the rest of the slots lists at least | 125 static const UChar* arabicFonts[] = { L"Tahoma", L"Segoe UI", 0 }; |
| 132 // one widely used for likely to be available on XP or Windows 7. | 126 static const UChar* armenianFonts[] = { L"Segoe UI", L"Sylfaen", 0 }; |
| 133 static const UChar* ethiopicFonts[] = {L"Nyala", L"Abyssinica SIL", L"Ethiop
ia Jiret", L"Visual Geez Unicode", L"GF Zemen Unicode", L"Ebrima", 0}; | 127 static const UChar* bengaliFonts[] = { L"Nirmala UI", L"Vrinda", 0 }; |
| 134 static const UChar* oriyaFonts[] = {L"Kalinga", L"ori1Uni", L"Lohit Oriya",
L"Nirmala UI", 0}; | 128 static const UChar* brahmiFonts[] = { L"Segoe UI Historic", 0 }; |
| 135 static const UChar* laoFonts[] = {L"Leelawadee UI", L"DokChampa", L"Saysetth
a OT", L"Phetsarath OT", L"Code2000", 0}; | 129 static const UChar* brailleFonts[] = { L"Segoe UI Symbol", 0 }; |
| 136 static const UChar* tibetanFonts[] = {L"Microsoft Himalaya", L"Jomolhari", L
"Tibetan Machine Uni", 0}; | 130 static const UChar* bugineseFonts[] = { L"Leelawadee UI", 0 }; |
| 137 static const UChar* sinhalaFonts[] = {L"Iskoola Pota", L"AksharUnicode", L"N
irmala UI", 0}; | 131 static const UChar* canadianAaboriginalFonts[] = { L"Gadugi", |
| 138 static const UChar* yiFonts[] = {L"Microsoft Yi Balti", L"Nuosu SIL", L"Code
2000", 0}; | 132 L"Euphemia", 0 }; |
| 139 // http://www.bethmardutho.org/support/meltho/download/index.php | 133 static const UChar* carianFonts[] = { L"Segoe UI Historic", 0 }; |
| 140 static const UChar* syriacFonts[] = {L"Estrangelo Edessa", L"Estrangelo Nisi
bin", L"Code2000", 0}; | 134 static const UChar* cherokeeFonts[] = { L"Gadugi", L"Plantagenet", 0 }; |
| 141 static const UChar* myanmarFonts[] = {L"Myanmar Text", L"Padauk", L"Parabaik
", L"Myanmar3", L"Code2000", 0}; | 135 static const UChar* copticFonts[] = { L"Segoe UI Symbol", 0 }; |
| 142 static const UChar* glagoliticFonts[] = {L"Segoe UI Historic", L"Segoe UI Sy
mbol", 0}; | 136 static const UChar* cuneiformFonts[] = { L"Segoe UI Historic", 0 }; |
| 143 static const UChar* gothicFonts[] = {L"Segoe UI Historic", L"Segoe UI Symbol
", 0}; | 137 static const UChar* cypriotFonts[] = { L"Segoe UI Historic", 0 }; |
| 144 static const UChar* oghamFonts[] = {L"Segoe UI Historic", L"Segoe UI Symbol"
, 0}; | 138 static const UChar* deseretFonts[] = { L"Segoe UI Symbol", 0 }; |
| 145 static const UChar* hangulFonts[] = {L"gulim", L"Malgun Gothic", 0}; | 139 static const UChar* devanagariFonts[] = { L"Nirmala UI", L"Mangal", 0 }; |
| 146 static const UChar* devanagariFonts[] = {L"mangal", L"Nirmala UI", 0}; | 140 static const UChar* egyptianHieroglyphsFonts[] = { L"Segoe UI Historic", |
| 147 static const UChar* gujaratiFonts[] = {L"shruti", L"Nirmala UI", 0}; | 141 0 }; |
| 148 static const UChar* bengaliFonts[] = {L"vrinda", L"Nirmala UI", 0}; | 142 static const UChar* ethiopicFonts[] = { L"Nyala", L"Abyssinica SIL", |
| 149 static const UChar* teluguFonts[] = {L"gautami", L"Nirmala UI", 0}; | 143 L"Ethiopia Jiret", L"Visual Geez Unicode", L"GF Zemen Unicode", |
| 150 static const UChar* tamilFonts[] = {L"latha", L"Nirmala UI", 0}; | 144 L"Ebrima", 0 }; |
| 151 static const UChar* kannadaFonts[] = {L"tunga", L"Nirmala UI", 0}; | 145 static const UChar* georgianFonts[] = { L"Segoe UI", L"Sylfaen", 0 }; |
| 152 static const UChar* gurumukhiFonts[] = {L"raavi", L"Nirmala UI", 0}; | 146 static const UChar* glagoliticFonts[] = { L"Segoe UI Historic", |
| 153 static const UChar* thaiFonts[] = {L"tahoma", L"Leelawadee UI", L"Leelawadee
", 0}; | 147 L"Segoe UI Symbol", 0 }; |
| 154 static const UChar* hebrewFonts[] = {L"david", L"Segoe UI", 0}; | 148 static const UChar* gothicFonts[] = { L"Segoe UI Historic", |
| 155 static const UChar* arabicFonts[] = {L"tahoma", L"Segoe UI", 0}; | 149 L"Segoe UI Symbol", 0 }; |
| 156 static const UChar* tifinaghFonts[] = {L"ebrima", 0}; | 150 static const UChar* gujaratiFonts[] = { L"Nirmala UI", L"Shruti", 0 }; |
| 157 static const UChar* georgianFonts[] = {L"sylfaen", L"Segoe UI", 0}; | 151 static const UChar* gurmukhiFonts[] = { L"Nirmala UI", L"Raavi", 0 }; |
| 158 static const UChar* armenianFonts[] = {L"sylfaen", L"Segoe UI", 0}; | 152 static const UChar* hangulFonts[] = { L"Malgun Gothic", L"Gulim", 0 }; |
| 159 static const UChar* canadianAboriginalFonts[] = {L"euphemia", L"Gadugi", 0}; | 153 static const UChar* hebrewFonts[] = { L"David", L"Segoe UI", 0 }; |
| 160 static const UChar* cherokeeFonts[] = {L"plantagenet cherokee", L"Gadugi", 0
}; | 154 static const UChar* hiraganaFonts[] = { L"MS PGothic", L"Yu Gothic", |
| 161 static const UChar* simplifiedHanFonts[] = {L"simsun", L"Microsoft YaHei", 0
}; | 155 L"Microsoft YaHei", 0 }; |
| 162 static const UChar* traditionalHanFonts[] = {L"pmingliu", L"Microsoft JhengH
ei", 0}; | 156 static const UChar* imperialAramaicFonts[] = { L"Segoe UI Historic", 0 }; |
| 163 static const UChar* hiraganaFonts[] = {L"ms pgothic", L"Yu Gothic", L"Micros
oft YaHei", 0}; | 157 static const UChar* inscriptionalPahlaviFonts[] = { L"Segoe UI Historic", |
| 164 static const UChar* katakanaFonts[] = {L"ms pgothic", L"Yu Gothic", L"Micros
oft YaHei", 0}; | 158 0 }; |
| 165 static const UChar* katakanaOrHiraganaFonts[] = {L"ms pgothic", L"Yu Gothic"
, L"Microsoft YaHei", 0}; | 159 static const UChar* inscriptionalParthianFonts[] = { L"Segoe UI Historic", |
| 160 0 }; |
| 161 static const UChar* javaneseFonts[] = { L"Javanese Text", 0 }; |
| 162 static const UChar* kannadaFonts[] = { L"Tunga", L"Nirmala UI", 0 }; |
| 163 static const UChar* katakanaFonts[] = { L"MS PGothic", L"Yu Gothic", |
| 164 L"Microsoft YaHei", 0 }; |
| 165 static const UChar* katakanaOrHiraganaFonts[] = { L"MS PGothic", |
| 166 L"Yu Gothic", L"Microsoft YaHei", 0 }; |
| 167 static const UChar* kharoshthiFonts[] = { L"Segoe UI Historic", 0 }; |
| 168 // Try Khmer OS before Vista fonts as it goes along better with Latin |
| 169 // and looks better/larger for the same size. |
| 170 static const UChar* khmerFonts[] = { L"Leelawadee UI", L"Khmer UI", |
| 171 L"Khmer OS", L"MoolBoran", L"DaunPenh", 0 }; |
| 172 static const UChar* laoFonts[] = { L"Leelawadee UI", L"Lao UI", |
| 173 L"DokChampa", L"Saysettha OT", L"Phetsarath OT", L"Code2000", 0 }; |
| 174 static const UChar* lisuFonts[] = { L"Segoe UI", 0 }; |
| 175 static const UChar* lycianFonts[] = { L"Segoe UI Historic", 0 }; |
| 176 static const UChar* lydianFonts[] = { L"Segoe UI Historic", 0 }; |
| 177 static const UChar* malayalamFonts[] = { L"Nirmala UI", L"Kartika", 0 }; |
| 178 static const UChar* meroiticCursiveFonts[] = { L"Segoe UI Historic", |
| 179 L"Segoe UI Symbol", 0 }; |
| 180 static const UChar* mongolianFonts[] = { L"Mongolian Baiti", 0 }; |
| 181 static const UChar* myanmarFonts[] = { L"Myanmar Text", L"Padauk", |
| 182 L"Parabaik", L"Myanmar3", L"Code2000", 0 }; |
| 183 static const UChar* newTaiLueFonts[] = { L"Microsoft New Tai Lue", 0 }; |
| 184 static const UChar* nkoFonts[] = { L"Ebrima", 0 }; |
| 185 static const UChar* oghamFonts[] = { L"Segoe UI Historic", |
| 186 L"Segoe UI Symbol", 0 }; |
| 187 static const UChar* olChikiFonts[] = { L"Nirmala UI", 0 }; |
| 188 static const UChar* oldItalicFonts[] = { L"Segoe UI Historic", |
| 189 L"Segoe UI Symbol", 0 }; |
| 190 static const UChar* oldPersianFonts[] = { L"Segoe UI Historic", 0 }; |
| 191 static const UChar* oldSouthArabianFonts[] = { L"Segoe UI Historic", 0 }; |
| 192 static const UChar* oriyaFonts[] = { L"Kalinga", L"ori1Uni", |
| 193 L"Lohit Oriya", L"Nirmala UI", 0 }; |
| 194 static const UChar* orkhonFonts[] = { L"Segoe UI Historic", |
| 195 L"Segoe UI Symbol", 0 }; |
| 196 static const UChar* osmanyaFonts[] = { L"Ebrima", 0 }; |
| 197 static const UChar* phagsPaFonts[] = { L"Microsoft PhagsPa", 0 }; |
| 198 static const UChar* runicFonts[] = { L"Segoe UI Historic", |
| 199 L"Segoe UI Symbol", 0 }; |
| 200 static const UChar* shavianFonts[] = { L"Segoe UI Historic", 0 }; |
| 201 static const UChar* simplifiedHanFonts[] = { L"simsun", L"Microsoft YaHei", |
| 202 0 }; |
| 203 static const UChar* sinhalaFonts[] = { L"Iskoola Pota", L"AksharUnicode", |
| 204 L"Nirmala UI", 0 }; |
| 205 static const UChar* soraSompengFonts[] = { L"Nirmala UI", 0 }; |
| 206 static const UChar* symbolsFonts[] = { L"Segoe UI Symbol", 0 }; |
| 207 static const UChar* syriacFonts[] = { L"Estrangelo Edessa", |
| 208 L"Estrangelo Nisibin", L"Code2000", 0 }; |
| 209 static const UChar* taiLeFonts[] = { L"Microsoft Tai Le", 0 }; |
| 210 static const UChar* tamilFonts[] = { L"Nirmala UI", L"Latha", 0 }; |
| 211 static const UChar* teluguFonts[] = { L"Nirmala UI", L"Gautami", 0 }; |
| 212 static const UChar* thaanaFonts[] = { L"MV Boli", 0 }; |
| 213 static const UChar* thaiFonts[] = { L"Tahoma", L"Leelawadee UI", |
| 214 L"Leelawadee", 0 }; |
| 215 static const UChar* tibetanFonts[] = { L"Microsoft Himalaya", L"Jomolhari", |
| 216 L"Tibetan Machine Uni", 0 }; |
| 217 static const UChar* tifinaghFonts[] = { L"Ebrima", 0 }; |
| 218 static const UChar* traditionalHanFonts[] = { L"pmingliu", |
| 219 L"Microsoft JhengHei", 0 }; |
| 220 static const UChar* vaiFonts[] = { L"Ebrima", 0 }; |
| 221 static const UChar* yiFonts[] = { L"Microsoft Yi Baiti", L"Nuosu SIL", |
| 222 L"Code2000", 0 }; |
| 166 | 223 |
| 167 static const ScriptToFontFamilies scriptToFontFamilies[] = { | 224 static const ScriptToFontFamilies scriptToFontFamilies[] = { |
| 168 {USCRIPT_MALAYALAM, malayalamFonts}, | 225 { USCRIPT_ARABIC, arabicFonts }, |
| 169 {USCRIPT_KHMER, khmerFonts}, | 226 { USCRIPT_ARMENIAN, armenianFonts }, |
| 170 {USCRIPT_ETHIOPIC, ethiopicFonts}, | 227 { USCRIPT_BENGALI, bengaliFonts }, |
| 171 {USCRIPT_ORIYA, oriyaFonts}, | 228 { USCRIPT_BRAHMI, brahmiFonts }, |
| 172 {USCRIPT_LAO, laoFonts}, | 229 { USCRIPT_BRAILLE, brailleFonts }, |
| 173 {USCRIPT_TIBETAN, tibetanFonts}, | 230 { USCRIPT_BUGINESE, bugineseFonts }, |
| 174 {USCRIPT_SINHALA, sinhalaFonts}, | 231 { USCRIPT_CANADIAN_ABORIGINAL, canadianAaboriginalFonts }, |
| 175 {USCRIPT_YI, yiFonts}, | 232 { USCRIPT_CARIAN, carianFonts }, |
| 176 {USCRIPT_SYRIAC, syriacFonts}, | 233 { USCRIPT_CHEROKEE, cherokeeFonts }, |
| 177 {USCRIPT_MYANMAR, myanmarFonts}, | 234 { USCRIPT_COPTIC, copticFonts }, |
| 178 {USCRIPT_GLAGOLITIC, glagoliticFonts}, | 235 { USCRIPT_CUNEIFORM, cuneiformFonts }, |
| 179 {USCRIPT_GOTHIC, gothicFonts}, | 236 { USCRIPT_CYPRIOT, cypriotFonts }, |
| 180 {USCRIPT_OGHAM, oghamFonts}, | 237 { USCRIPT_DESERET, deseretFonts }, |
| 181 {USCRIPT_HANGUL, hangulFonts}, | 238 { USCRIPT_DEVANAGARI, devanagariFonts }, |
| 182 {USCRIPT_DEVANAGARI, devanagariFonts}, | 239 { USCRIPT_EGYPTIAN_HIEROGLYPHS, egyptianHieroglyphsFonts }, |
| 183 {USCRIPT_GUJARATI, gujaratiFonts}, | 240 { USCRIPT_ETHIOPIC, ethiopicFonts }, |
| 184 {USCRIPT_BENGALI, bengaliFonts}, | 241 { USCRIPT_GEORGIAN, georgianFonts }, |
| 185 {USCRIPT_TELUGU, teluguFonts}, | 242 { USCRIPT_GLAGOLITIC, glagoliticFonts }, |
| 186 {USCRIPT_TAMIL, tamilFonts}, | 243 { USCRIPT_GOTHIC, gothicFonts }, |
| 187 {USCRIPT_KANNADA, kannadaFonts}, | 244 { USCRIPT_GUJARATI, gujaratiFonts }, |
| 188 {USCRIPT_GURMUKHI, gurumukhiFonts}, | 245 { USCRIPT_GURMUKHI, gurmukhiFonts }, |
| 189 {USCRIPT_THAI, thaiFonts}, | 246 { USCRIPT_HANGUL, hangulFonts }, |
| 190 {USCRIPT_HEBREW, hebrewFonts}, | 247 { USCRIPT_HEBREW, hebrewFonts }, |
| 191 {USCRIPT_ARABIC, arabicFonts}, | 248 { USCRIPT_HIRAGANA, hiraganaFonts }, |
| 192 {USCRIPT_TIFINAGH, tifinaghFonts}, | 249 { USCRIPT_IMPERIAL_ARAMAIC, imperialAramaicFonts }, |
| 193 {USCRIPT_GEORGIAN, georgianFonts}, | 250 { USCRIPT_INSCRIPTIONAL_PAHLAVI, inscriptionalPahlaviFonts }, |
| 194 {USCRIPT_ARMENIAN, armenianFonts}, | 251 { USCRIPT_INSCRIPTIONAL_PARTHIAN, inscriptionalParthianFonts }, |
| 195 {USCRIPT_CANADIAN_ABORIGINAL, canadianAboriginalFonts}, | 252 { USCRIPT_JAVANESE, javaneseFonts }, |
| 196 {USCRIPT_CHEROKEE, cherokeeFonts}, | 253 { USCRIPT_KANNADA, kannadaFonts }, |
| 197 {USCRIPT_SIMPLIFIED_HAN, simplifiedHanFonts}, | 254 { USCRIPT_KATAKANA, katakanaFonts }, |
| 198 {USCRIPT_TRADITIONAL_HAN, traditionalHanFonts}, | 255 { USCRIPT_KATAKANA_OR_HIRAGANA, katakanaOrHiraganaFonts }, |
| 199 {USCRIPT_HIRAGANA, hiraganaFonts}, | 256 { USCRIPT_KHAROSHTHI, kharoshthiFonts }, |
| 200 {USCRIPT_KATAKANA, katakanaFonts}, | 257 { USCRIPT_KHMER, khmerFonts }, |
| 201 {USCRIPT_KATAKANA_OR_HIRAGANA, katakanaOrHiraganaFonts}, | 258 { USCRIPT_LAO, laoFonts }, |
| 259 { USCRIPT_LISU, lisuFonts }, |
| 260 { USCRIPT_LYCIAN, lycianFonts }, |
| 261 { USCRIPT_LYDIAN, lydianFonts }, |
| 262 { USCRIPT_MALAYALAM, malayalamFonts }, |
| 263 { USCRIPT_MEROITIC_CURSIVE, meroiticCursiveFonts }, |
| 264 { USCRIPT_MONGOLIAN, mongolianFonts }, |
| 265 { USCRIPT_MYANMAR, myanmarFonts }, |
| 266 { USCRIPT_NEW_TAI_LUE, newTaiLueFonts }, |
| 267 { USCRIPT_NKO, nkoFonts }, |
| 268 { USCRIPT_OGHAM, oghamFonts }, |
| 269 { USCRIPT_OL_CHIKI, olChikiFonts }, |
| 270 { USCRIPT_OLD_ITALIC, oldItalicFonts }, |
| 271 { USCRIPT_OLD_PERSIAN, oldPersianFonts }, |
| 272 { USCRIPT_OLD_SOUTH_ARABIAN, oldSouthArabianFonts }, |
| 273 { USCRIPT_ORIYA, oriyaFonts }, |
| 274 { USCRIPT_ORKHON, orkhonFonts }, |
| 275 { USCRIPT_OSMANYA, osmanyaFonts }, |
| 276 { USCRIPT_PHAGS_PA, phagsPaFonts }, |
| 277 { USCRIPT_RUNIC, runicFonts }, |
| 278 { USCRIPT_SHAVIAN, shavianFonts }, |
| 279 { USCRIPT_SIMPLIFIED_HAN, simplifiedHanFonts }, |
| 280 { USCRIPT_SINHALA, sinhalaFonts }, |
| 281 { USCRIPT_SORA_SOMPENG, soraSompengFonts }, |
| 282 { USCRIPT_SYMBOLS, symbolsFonts }, |
| 283 { USCRIPT_SYRIAC, syriacFonts }, |
| 284 { USCRIPT_TAI_LE, taiLeFonts }, |
| 285 { USCRIPT_TAMIL, tamilFonts }, |
| 286 { USCRIPT_TELUGU, teluguFonts }, |
| 287 { USCRIPT_THAANA, thaanaFonts }, |
| 288 { USCRIPT_THAI, thaiFonts }, |
| 289 { USCRIPT_TIBETAN, tibetanFonts }, |
| 290 { USCRIPT_TIFINAGH, tifinaghFonts }, |
| 291 { USCRIPT_TRADITIONAL_HAN, traditionalHanFonts }, |
| 292 { USCRIPT_VAI, vaiFonts }, |
| 293 { USCRIPT_YI, yiFonts } |
| 202 }; | 294 }; |
| 203 | 295 |
| 204 for (size_t i = 0; i < WTF_ARRAY_LENGTH(fontMap); ++i) | 296 for (size_t i = 0; i < WTF_ARRAY_LENGTH(fontMap); ++i) |
| 205 scriptFontMap[fontMap[i].script] = fontMap[i].family; | 297 scriptFontMap[fontMap[i].script] = fontMap[i].family; |
| 206 | 298 |
| 207 // FIXME: Instead of scanning the hard-coded list, we have to | 299 // FIXME: Instead of scanning the hard-coded list, we have to |
| 208 // use EnumFont* to 'inspect' fonts to pick up fonts covering scripts | 300 // use EnumFont* to 'inspect' fonts to pick up fonts covering scripts |
| 209 // when it's possible (e.g. using OS/2 table). If we do that, this | 301 // when it's possible (e.g. using OS/2 table). If we do that, this |
| 210 // had better be pulled out of here. | 302 // had better be pulled out of here. |
| 211 for (size_t i = 0; i < WTF_ARRAY_LENGTH(scriptToFontFamilies); ++i) { | 303 for (size_t i = 0; i < WTF_ARRAY_LENGTH(scriptToFontFamilies); ++i) { |
| (...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 455 family = L"lucida sans unicode"; | 547 family = L"lucida sans unicode"; |
| 456 } | 548 } |
| 457 } | 549 } |
| 458 | 550 |
| 459 if (scriptChecked) | 551 if (scriptChecked) |
| 460 *scriptChecked = script; | 552 *scriptChecked = script; |
| 461 return family; | 553 return family; |
| 462 } | 554 } |
| 463 | 555 |
| 464 } // namespace blink | 556 } // namespace blink |
| OLD | NEW |