Closed Bug 378105 Opened 13 years ago Closed 12 years ago

Need to update default fonts for Indic scripts

Categories

(Core :: Internationalization, defect, P2)

x86
Windows XP
defect

Tracking

()

RESOLVED FIXED

People

(Reporter: cibu, Assigned: smontagu)

References

Details

(Keywords: late-l10n, perf, Whiteboard: +4 strings)

Attachments

(2 files, 1 obsolete file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Build Identifier: 

There are two parts to the issue.

1. Monospace, Sarif, San sarif distinctions valid for Latin scripts does not Tamil - Latha
have much merit in Indic scripts. So the font lists like font.name-list.serif.x-devanagari, font.name-list.monospace.x-devanagari should have same list of Fonts.

2. Microsoft has released following Indic fonts for XP SP2. The lists should high priority for those fonts.

Devanagari - Mangal
Gujarati - Shruti
Gurumukhi - Raavi
Bengali - Vrinda
Tamil - Latha
Malayalam - Kartika
Kannada - Tunga
Telugu - Gautami

The decreasing order of priority should be:
"<Fonts common in user community>, <XP fonts>, <Generic font>"

For example, Malayalam font configuration should look like:
pref("font.name.serif.x-mlym", "Rachana_w01");
pref("font.name.sans-serif.x-mlym", "Rachana_w01");
pref("font.name.monospace.x-mlym", "Rachana_w01");
pref("font.name-list.serif.x-mlym", "AnjaliOldLipi, Kartika, Arial Unicode MS");
pref("font.name-list.sans-serif.x-mlym", "AnjaliOldLipi, Kartika, Arial Unicode MS");
pref("font.name-list.monospace.x-mlym", "AnjaliOldLipi, Kartika, Arial Unicode MS");

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Component: GFX: Win32 → Internationalization
Assignee: win32 → jshin1987
Status: UNCONFIRMED → NEW
Ever confirmed: true
Win Vista has the following addition fonts. 
( http://www.microsoft.com/globaldev/vista/Whats_New_Vista.mspx#EMB  )
   1. DaunPenh (Khmer)
   2. DokChampa (Lao)
   3. Euphemia (Inuktitut, Cree)
   4. Gisha (Hebrew)
   5. Iskoola Pota (Sinhala)
   6. Kalinga (Oriya)
   7. Leelawadee (Thai)
   8. Malgun Gothic (Korean)
   9. Meiryo (Japanese)
  10. Microsoft Himalaya (Tibetan)
  11. Microsoft JhengHei (CHT)
  12. Microsoft Uighur (Uighur)
  13. Microsoft YaHei (CHS)
  14. Microsoft Yi Baiti (Yi)
  15. Mongolian Baiti (Mongolian)
  16. MoolBoran (Khmer)
  17. Nyala (Ethiopic)
  18. Plantagenet (Cherokee)

Win XP's font list :

Vrinda for Bengali and Karitika for Malayalam are not listed here, but were added in XP SP2. 

http://www.microsoft.com/typography/fonts/product.aspx?PID=135
Updating these lists will not only improve our font selections but also improve performance...  On windows at least, we can now support font prefs for a bunch of these languages that we didn't support before.
Flags: blocking1.9+
Keywords: perf
Do we have a mechanism to define Vista-specific prefs for the fonts that are newly available there?
Not specifically.  We can certainly put them first in our font-list prefs and we'll skip them if they're not available but that won't help us for the default font for that language if it is available ahead of the font-list prefs.  We could expand the default font stuff to support multiple fonts too I suppose.

For languages that we haven't previously supported, we can just add prefs based on the languages listed in here: http://mxr.mozilla.org/seamonkey/source/gfx/thebes/src/gfxWindowsFonts.cpp#752
I used three letter codes for all the languages we don't have prefs for already and we could change them to be something else if we wanted.
Simon can you take this?
Priority: -- → P4
Assignee: jshin1987 → smontagu
Moving to P2, can we get a fix ASAP, please?
Flags: tracking1.9+ → blocking1.9+
Priority: P4 → P2
Attached patch Patch v.0 (obsolete) — Splinter Review
This has got all the necessary infrastructure, but we may want to tweak the actual font lists some more. It also has l10n impact, with four new strings in the fonts preferences dialog, but it shouldn't be too serious, because the same strings already exist in languageNames.properties.
Attachment #311424 - Flags: review?
Keywords: late-l10n
Attachment #311424 - Flags: review? → review?(pavlov)
Comment on attachment 311424 [details] [diff] [review]
Patch v.0

-    { "LANG_KASHMIRI",   "x-devanagari" }, // kas
+    { "LANG_KASHMIRI",   "kas" },

Why this change?  I'm pretty sure that for that one uniscribe was giving me that for things that looked pretty devangariish.

Is Code2000 better than Arial Unicode MS for most of these?

this patch generally looks OK to me.  we'll need to get string change approval
Attachment #311424 - Flags: ui-review?(beltzner)
For the ui-review, note that I've also alphabetized the list of languages in the fonts pref dialog. I'm in two minds about this: for l10n it will mean replacing the current apparently random order by a different apparently random order, so it might be better to make an attempt at a categorized ordering, with European languages together and Asian languages together.
Attached patch Patch v.1Splinter Review
Corrected some typos, removed Code2000 from the lists for languages that it doesn't support, and added a default values for font sizes for all lang-groups on all platforms to all.js. (The last is possibly a bit out of scope here, but I noticed when checking that I hadn't broken anything on other platforms that the fonts pref dialog is butt-ugly on Linux if any default value is missing).
Attachment #311424 - Attachment is obsolete: true
Attachment #312279 - Flags: ui-review?
Attachment #312279 - Flags: review?
Attachment #311424 - Flags: ui-review?(beltzner)
Attachment #311424 - Flags: review?(pavlov)
Attachment #312279 - Flags: ui-review?(beltzner)
Attachment #312279 - Flags: ui-review?
Attachment #312279 - Flags: review?(pavlov)
Attachment #312279 - Flags: review?
Whiteboard: +4 strings
Attachment #312279 - Flags: review?(pavlov) → review+
Attachment #312279 - Flags: ui-review?(beltzner) → ui-review+
Attachment #312279 - Flags: approval1.9?
Version: unspecified → Trunk
Comment on attachment 312279 [details] [diff] [review]
Patch v.1

a1.9=beltzner
Attachment #312279 - Flags: approval1.9? → approval1.9+
=> checkin-needed, because I probably won't be able to check this in before string freeze.
Keywords: checkin-needed
For convenience, this is the new strings from the previous attachment in a separate patch, and could be checked in on its own to make string freeze.
Checked in
Status: NEW → RESOLVED
Closed: 12 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
Blocks: 381967
You need to log in before you can comment on or make changes to this bug.