Nicolas Mailhot
2006-Jun-11 05:13 UTC
[Fontconfig] [RFC] Fontconfig lang-specific font override
Skipped content of type multipart/mixed-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?Url : http://lists.freedesktop.org/archives/fontconfig/attachments/20060611/42d33629/attachment-0001.pgp
Simos Xenitellis
2006-Jun-11 12:29 UTC
[Fontconfig] Re: [DejaVu-fonts] [RFC] Fontconfig lang-specific font override
O/H Nicolas Mailhot ??????:> Hi, > > Here is the solution I''ve arrived for Fedora Extras DejaVu packaging : > - making DejaVu the fontconfig default > - optionally substituting other fonts for Arabic or Farsi, for people > unsatisfied with DejaVu current Arabic block > > I''m far from sure this is the right solution or a simpler one is not > possible, but unless a fontconfig guru will point me to a better > solution this is the one which will ship in FE next week (and possibly > later in FC6). I''ve gone as far as I could alone. >I am not sure if languages based on the Arabic script differentiate with Sans, Serif or Monospace. A discussion on Fonts at the OLPC wiki (http://wiki.laptop.org/index.php/Talk:Fonts) gives strong hints that at least Arabic does not care about Sans, Serif and Monospace. If they do not differentiate, then it would be simpler to merely set the font to a specific one based on the language (Arabic, Persian, Kurdish, etc). Simos
Owen Taylor
2006-Jun-12 05:02 UTC
[Fontconfig] [RFC] Fontconfig lang-specific font override
On Sun, 2006-06-11 at 14:11 +0200, Nicolas Mailhot wrote:> Hi, > > Here is the solution I''ve arrived for Fedora Extras DejaVu packaging : > - making DejaVu the fontconfig default > - optionally substituting other fonts for Arabic or Farsi, for people > unsatisfied with DejaVu current Arabic block > > I''m far from sure this is the right solution or a simpler one is not > possible, but unless a fontconfig guru will point me to a better > solution this is the one which will ship in FE next week (and possibly > later in FC6). I''ve gone as far as I could alone.Well, you''ve been told the right solution repeatedly ... not shipping on omnibus multi-script font. What you''ve attached here looks incredibly fragile and confusing to users. I''m not enough of a fontconfig expert to predict exactly what will happen from all this configuration, but I think it''s pretty poor if, say, someone running in a Persian locale doesn''t *get* DejaVu if they select it explicitly. (As opposed to selecting sans-serif) As long as the fonts people really want to use for their locales don''t include Latin characters, they can usually get around a multi-block font by just specifying DejaVu after the desired font. But if the desired fonts do have (frequently poor) Latin characters, then the user has nothing to do. This is leaving aside the worse problems that you are creating with metrics. Owen (I''ll shut up on this topic now.)
Nicolas Mailhot
2006-Jun-12 05:50 UTC
[Fontconfig] [RFC] Fontconfig lang-specific font override
Le Lun 12 juin 2006 14:02, Owen Taylor a ?crit :> Well, you''ve been told the right solution repeatedly ... not shipping > on omnibus multi-script font.Sure, the right solution to shipping a multi-script font is not to ship a multi-script font. Since all the major FOSS font efforts turn multi-script at one time that means not shipping FOSS fonts. I wonder why that''s not the right solution for me. -- Nicolas Mailhot
Denis Jacquerye
2006-Jun-12 06:10 UTC
[Fontconfig] [RFC] Fontconfig lang-specific font override
> This is leaving aside the worse problems that you are creating with > metrics.This is a different issue. OpenType has solutions for fonts with multiple scripts with different metrics. These solutions should be implemented. It''s only a bug font because we can''t do it. Denis Moyogo Jacquerye
Owen Taylor
2006-Jun-12 06:21 UTC
[Fontconfig] [RFC] Fontconfig lang-specific font override
On Mon, 2006-06-12 at 14:50 +0200, Nicolas Mailhot wrote:> Le Lun 12 juin 2006 14:02, Owen Taylor a ?crit : > > > Well, you''ve been told the right solution repeatedly ... not shipping > > on omnibus multi-script font. > > Sure, the right solution to shipping a multi-script font is not to ship a > multi-script font. Since all the major FOSS font efforts turn multi-script > at one time that means not shipping FOSS fonts.> I wonder why that''s not the right solution for me.For those who haven''t been in on this conversation when it has occurred previously, the request is not: - Don''t create stylistically coordinated fonts for many scripts But rather: - Don''t shove all scripts together into a single font file Latin, Greek, Cyrillic work well together because they have reasonably similar line-spacing requirements and design characteristics. A Latin design can be translated one-to-one into Cyrillic design, and it will work. But that isn''t the case for Arabic, Devanagari, or Han. There are definitely matching considerations when combining an Arabic font with a Latin font.... some combinations will work better than others. But forcing a fixed combination of Latin font and Arabic font on the user and system integrator usually doesn''t make sense. Just like with line spacing, you can of course, make up technical solutions. You could probably extend fontconfig to treat different scripts of a font like they were different fonts. But these solutions don''t exist currently. Owen -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.freedesktop.org/archives/fontconfig/attachments/20060612/9c0dceab/attachment.pgp
Nicolas Mailhot
2006-Jun-12 06:30 UTC
[Fontconfig] Re: [DejaVu-fonts] [RFC] Fontconfig lang-specific font override
Le Lun 12 juin 2006 15:01, Ben Laenen a ?crit :> So yes, many Arabic users won''t like the design probably, just like they > don''t like Tahoma in those cases.Thank you for the explanation. I think it would be worthwhile to put some "designer notes" in a .txt in the sfd/ttf archives. As for your assessment, my experience is users are *extremely* conservative WRT font design, presented with something different they''ll always start saying it''s ugly, you have to wait some years for them to get used to it before you receive fair feedback. (you can just google for Arial appreciations at about the time Microsoft introduced it - today no one blinks when seing Arial, it''s many people''s default/preferred font, but at the time it was presented as some sort of abomination not worth of helvetica)> Forcing DejaVu Sans Arabic therof is > a bad idea. But that doesn''t mean that DejaVu Sans Arabic it has no use > at all.Fully agreed> So, if you discuss about Arabic in DejaVu Sans in other places, please > take this knowledge with you. Don''t try to persuade other people that > Arabic in Sans should be the default for Arabic users, that will never > work. Something which is quite tricky, given the fact that we want the > other scripts to be default, and not made easier by the way fontconfig > is set up (though I see that luckily some work has been done on that)Well, I''ve done what I could but at this point given the resistances in the fontconfig/pango communities and the lack of any will to fix the tools to make it easier it''d be probably best to spin off the arabic block in its own font (I hate myself for writing that). But it you do this *please* do not put any european glyphs in there (unless they are used to write arabic of course) so they get the full split they want (of course this will suck big time uder windows without the alaisaing fontconfig does) And I must write this is nothing but an ugly workaround, it''s not the "right" solution but the "right" solution depends on people who do not want to look at the problem. BTW you may be happy to learn the feedback on fedora list is so far positive (with the usual Behdad exception) with a respected voice like Aln Cox even writing : ** Bitstream-vera is essentially unmaintained, deja-vu *is*. I think it''s a ** no-brainer. deja-vu is the way to go, +1. * Agreed -- Nicolas Mailhot
Nicolas Mailhot
2006-Jun-12 08:41 UTC
[DejaVu-fonts] [Fontconfig] [RFC] Fontconfig lang-specific font override
Le Lun 12 juin 2006 17:25, Ben Laenen a ?crit :> Okay, my personal views on this issue now: > > Why I don''t want to split DejaVu up in > Arabic/Persian/Cyrillic/Latin/Greek/Armenian: > > Because I think it is fixing fontconfig or font renderers for it''s > limitations in a wrong way (namely in the font, where it should be > fixed in fontconfig or the renderers).Ben, Thank you for this nice and clear rephrasing of my own personal opinion. Regards, -- Nicolas Mailhot
Owen Taylor
2006-Jun-12 08:51 UTC
[DejaVu-fonts] [Fontconfig] [RFC] Fontconfig lang-specific font override
On Mon, 2006-06-12 at 17:25 +0200, Ben Laenen wrote:> Okay, my personal views on this issue now: > > Why I don''t want to split DejaVu up in > Arabic/Persian/Cyrillic/Latin/Greek/Armenian: > > Because I think it is fixing fontconfig or font renderers for it''s > limitations in a wrong way (namely in the font, where it should be > fixed in fontconfig or the renderers). > > Behold the three features which would make the whole discussion about > the "omnibus font" completely unnecessary: > > * BASE tables > * locl feature > * and most importantly: more control in the way the aliases are defined > in fonts.conf > > (well, basically only number 3 would be sufficient to stop most people > discussing about it) > > let''s explain: > * BASE tables take care of the different metrics used in each script. > That closes the metrics discussion. See > http://www.microsoft.com/OpenType/OTSpec/base.htmSadly, I can''t find the GNOME bug report where I spent considerable time answering this. Quickly: - Yes, support for BASE would be cool in Pango, and the Pango API was designed to support per-script metrics for a font. - But if you design your font to require BASE support, it isn''t going to work well until the necessary support is added to all the underlying libraries and many individual applications that are making incorrect assumptions. Not all libraries will even have the necessary APIs in place. (And it''s not like we can save ourselves work by saying we''ll only handle omnibus fonts; we have to support the case of using different fonts for different scripts, because that''s how font designers normally create fonts.)> * locl feature: choose different glyphs depending on the current locale. > splitting between Arabic/Persian/Pashto/Urdu/Sindhi/Kurdish/etc would > be unnecessary if it would work.I think this is a misunderstanding of the problem. While there may be a few cases where there are incompatible glyph variants, the bigger difference is usually more one of taste; different areas have different typographic traditions.> * more control in fonts.conf aliases. What I mean with that: if you > define "Sans" for example, being able to have different lists for each > locale, and to cut out ranges which should not be used when the alias > is selected (when you have Arabic locale, you could have "dejavu" as > number 1 in the list and e.g. cut out the arabic block). Some work has > been done on this apparently, I don''t know if everything is possible > now.Extreme fonts.conf complexity is seldom a real answer; a system integrator can do a lot there to make the best possible Serif/Sans-Serif/Monospace, but anything that is surfaced to the user has to be pretty straightforward.> I remember for example the Greek glyphs coming from a CJK script, which > looked horrible. One could just "cut out" these glyphs with some > setting in fonts.conf if the CJK font somehow comes up first. It also > solves the "circular dependency" problem that occurs when font A has > scripts V, W and X, and font B has script V, W and X, and you want to > use V and W from A, and X from B. > > But it''s not only the fact that addition of these things would make > splitting DejaVu completely unnecessary which makes me not like the > splitting. It''s just horribly user-unfriendly too. > > Imagine we did it the way some people proposed, and split up in every > script we have right now: a quick count says that that would already > mean more than 40 different files (and I''m discarding the experimental > font faces in DejaVu). Imagine some more scripts and script variants > and this would *literally* mean hundreds of fonts to install.A little application of common sense would go a long way here; I don''t think 40 font files to handle different scripts is an enormous number, (Windows ships considerably more than that), but nobody is saying that there should be a font for every script block in Unicode. But you bring up a good point. Trying to take each script and create, italic and non-italic variants of Serif, Sans-Serif, and Monospace is pretty much a silly exercise. There is no Arabic typographic tradition of using differences in slant to convey emphasis, as far as I know... The arithmetic of script times variant really shows that putting all scripts into all fonts is resulting in filling a lot squares in the matrix that it doesn''t make fill. Regards, Owen
Nicolas Mailhot
2006-Jun-12 15:09 UTC
[DejaVu-fonts] [Fontconfig] [RFC] Fontconfig lang-specific font override
Skipped content of type multipart/mixed-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 197 bytes Desc: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?Url : http://lists.freedesktop.org/archives/fontconfig/attachments/20060613/a834545b/attachment-0001.pgp