Closed Bug 113805 Opened 24 years ago Closed 22 years ago

Font size and font family can't be changed for iso-8859-3 (Latin 3, South European)

Categories

(Core :: Internationalization, defect)

x86
Linux
defect
Not set
major

Tracking

()

VERIFIED FIXED
mozilla1.4alpha

People

(Reporter: bertilow, Assigned: smontagu)

References

()

Details

(Keywords: intl)

Attachments

(1 file)

None of the font affect the encoding iso-8859-3 (Latin 3, South European) on Linux. Pages display with some default serif font in some default (tiny) size. This can not be changed by the user. This might be the same bug as 103282, or it might not... On Windows the font choice for iso-8859-3 is linked to iso-8859-1 (Latin 1, Western), but on Linux this seems to have been overlooked. The logical choice would be to give iso-8859-3 its own font prefs. If it is deemed OK to just automatically give it the same fonts as iso-8859-1, then the same could be done for iso-8859-2 (Latin 2, Central European) etc. If there is a need to be able to specify different fonts and sizes for Latin 2 and other Latin encodings, then that should be valid for iso-8859-3 too. On the other hand Latin 3 is rarely used. Esperanto users go for Unicode these days (I don't know about Maltese). So it can be OK to treat Latin 3 just as a go-along with Latin 1. But at least it should work on Linux as well. There should be some way of setting the font family and the font size for Latin 3 pages. I've seen this bug on build 2001112012 on Linux (Red Hat 7.2, KDE...), but it has probably been there for quite a while.
prefs for "Fonts for" is completely horked these days. The bug on that is bug 108939. If you want Fonts for: Western, you have to set it each time you open font-prefs.
Intl. Does the linux install in question actually have any IS0-8859-3 fonts? What does xlsfonts | grep -i ISO8859-3 say?
Assignee: asa → yokoyama
Component: Browser-General → Internationalization
QA Contact: doronr → teruko
linux i18n-> smontagu
Assignee: yokoyama → smontagu
Actually "xlsfonts | grep -i ISO8859-3" gives "pattern unmatched". But my system does have all the necessary fonts. The pages do display with all characters quite correctly. It's just that there is no pref to choose the font or the size with. Mozilla picks one for me - some serif one. It works. But the choice is fixed. (I've actually set sans-serif as my general font preference, but even that is ignored.) The font I've set for Latin 1 (Western), and for most else too, does have all the characters I need. I can set the font family for my own pages with a stylesheet. That works. My Latin 3 page displays with that font and all characters are correctly displayed. That way I can choose almost any one of my fonts, and they work perfectly for my Latin 3 pages. But Mozilla does not allow me any choice.
use lowercase xlsfonts |grep iso8859-3
The point is, you have no iso-8859-3 fonts (the -i option to grep means case-insensitive). Since we only allow fonts that claim to be in that encoding when you are picking a font for that encoding you get the effect you see. There are no fonts to pick from. Linking iso-8859-3 fonts to iso-8859-1 if no iso-8859-3 fonts exist seems like the most reasonable course of action here...
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: intl
Actually I have plenty of iso8859-3 fonts. There was something funny going on with my bash shell due to me having set Unicode as my character set in KDE. The command didn't work. Now it's OK and "xlsfonts | grep -i iso8859-3" returned a long list of fonts, e.g: -monotype-arial-medium-i-normal--0-0-0-0-p-0-iso8859-3 That's the font I've set for Western (iso8859-1) but it is not being used for Latin 3.
And this has gotten a lot worse now with 0.9.9. Now nothing I do will influence the font and size of text in pages coded with iso-8859-3 (except the text zoom, that does work...). I think this should be fixed before 1.0.
Status: NEW → ASSIGNED
This bug is still alive and kicking. Use Mozilla or Phoenix on _Linux_. Set a nice large font size for "Western". Go to the following two pages: * http://www.bertilow.com/html/signokodoj/latino1.php (Latin 1 page) * http://www.bertilow.com/html/signokodoj/latino3.php (Latin 3 page) Notice that the font settings do not apply for the Latin 3 page. Try to change the font size (without using text zoom). You wont be able too. The extremely small font size used automatically for Latin 3 pages can not be changed in Mozilla (or Phoenix). Why is this? This bug has been marked as "Severity: major", but there seems to be no activity. I'm sorry that I don't have the programming skills to fix this myself. It is probably something very simple.
ccing bstell... Looking for "iso-8859-3" in the tree, I get hits in the unix font metrics code; the gtk one is: 227 static nsFontCharSetInfo ISO88593 = 228 { "ISO-8859-3", SingleByteConvert, 0, 229 TT_OS2_CPR1_TURKISH, TT_OS2_CPR2_TURKISH }; Which is identical to the info for iso-8859-9 (and no, changing the iso-8859-9 font size does _not_ resize iso-8859-3 font).
"iso-8859-2" automatically gets the same font size (and font) as "iso-8859-1" (Western). So somewhere there is code that does that. Supposedly the same code should be there for "iso-8859-3" too, but isn't. So, maybe a search for "iso-8859-2" will reveal the mystery... Just a wild guess... Where is the code that links "iso-8859-2" to "iso-8859-1"?
Can't find any code like that... Further, iso-8859-2 font size _is_ settable in preferences independent of iso-8859-1 font size....
If you want to have iso8859-3 affected by the turkish font pref you could add iso-8859-3.LangGroup = tr to intl/uconf/src/charsetData.properties If you want to have a seperate font pref (very hard to get the UI approved) you will (I think) need to add an entry to pfe/components/prefwindow/resources/content/pref-font.xul and define a language group for this.
It would be much better to have iso-8859-3 follow the settings for iso-8859-1, just as iso-8859-2 does. But the main thing is that there be _any_ setting that affect it. Now you can't change the font or the font size at all for iso-8859-3! It's stuck at some factory setting.
Isn't iso8859-2 is set by the "Central European" font pref? If we wanted iso8859-3 to be affected by the "Western" font pref (which I'm not sure we do) we would add "iso-8859-3.LangGroup = x-western" to intl/uconv/src/charsetData.properties
Sorry about the misinformation abou "iso-8859-2". It was linked to Western before (I'm almost sure...), but it isn't anymore. "iso-8859-3" is however linked to ... nothing. Not all encodings have their own place in the font setting menu. What is the policy for those? That must surely have been decided eons ago.
Please try either of my suggestions, restart moz, and see it this has an effect.
Thank you Brian! I put in "iso-8859-3.LangGroup = x-western" and after a restart it worked! Brilliant! A bit strange that it has taken this long to find such a simple solution. Mind you, I've only tried it with Phoenix, but this stuff is probably identical for Mozilla and Phoenix. Actually "iso-8859-3" is not used very much, but there are a few Esperanto sites out there that do use it (but most of them are rapidly moving to Unicode). I don't think it's necessary for Latin 3 to have it's own setting in the font menu. Linking it to Western is perfectly OK. So, as far as I'm concerned, you guys can just add that line to "charsetData.properties", and then mark this bug as fixed. Great!
It seems to me that a simple and perfect solution has been found (more than two months ago). Why hasn't it been applied? (It should take like 1 minute...) Then the bug could be closed. Is there any reason?
Bertilo, Chances are, Simon has just not gotten to this bug yet (you could query his list of bugs to see why). Would you mind using patchmaker (http://www.gerv.net/software/patch-maker/) to produce a patch with the change you made? That would greatly facilitate things....
Frank: any opinion on mapping 8859-3 to x-western?
OK, Boris, after a few hours of sweating (the instructions about PatchMaker are not altogether reliable, and I had to use the more difficult CVS mode to patch this file...), I managed to come up with a diff file (although PM refuses to copy the patched file into my Mozilla install...). I've attached it. This is my first attempt do contribute a patch (and I've never touched CVS before), so please go easy on any criticism...
Comment on attachment 113286 [details] [diff] [review] Added one line to "charsetData.properties" linking iso-8859-3 to x-western. Looks great if Frank and Brian are ok with the general concept. ;)
Attachment #113286 - Flags: superreview+
Attachment #113286 - Flags: review?(ftang)
I fine with the "mechanics" of the change but I don't feel enough expertise to judge whether this is the best choice. If this is okay with ftang then I recommend we make this change and let users give feedback.
Comment on attachment 113286 [details] [diff] [review] Added one line to "charsetData.properties" linking iso-8859-3 to x-western. looks reasonable.
Attachment #113286 - Flags: review?(ftang) → review+
Target Milestone: --- → mozilla1.4alpha
Simon, will you handle checking this in?
Yes, I'll check this in as soon as the tree opens for 1.4
Fix checked in. Thank you for the patch, Bertilo.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Verified as fixed in 5-14 Linux trunk build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: