On Sun, 2005-11-06 at 17:06 -0500, Patrick Lam wrote:> > I don''t have anything against creating > /etc/fonts/conf.d/artificial-embolden.conf. However, it seems that the > system administrator can simply create the following > /etc/fonts/local.conf file: > > <match target="font"> > <!-- check to see if the font is just regular --> > <test name="weight" compare="less_eq"> > <int>100</int> > </test> > <!-- check to see if the pattern requests bold --> > <test target="pattern" name="weight" compare="more_eq"> > <int>200</int> > </test> > <!-- set the embolden flag --> > <edit name="embolden" mode="assign"> > <bool>false</bool> > </edit> > </match> > > and similarly for italics.When I tried that - it did not work, I still received double embolding. I will try again - perhaps I did not have the syntax perfect. I''m pretty sure that is exactly what I tried (amongst other things). If it works, I''ll close the fedora RFE and report back. The issue I''m trying to deal with is font vendors that use a different family name for each face - IE LucidaMonoEFOP-Roman LucidaMonoEFOP-Bold LucidaMonoEFOP-RomanItalic etc One solution is of course to edit the fonts so they are in the same family. The problem is I''m working on a project that is suppose to "be like iTunes but for fonts" (fonts can be previewed, and when purchased - installed for use), and changing the font from how the vendor distributes it is not acceptable, the font store can not do that.
I do something like following. <match target="font" > <test name="family" qual="any" > <string>Arial Black</string> </test> <edit mode="assign" name="weight" > <const>black</const> </edit> <edit mode="assign" name="style" > <string>Black</string> </edit> </match> Michael A. Peters wrote:> On Sun, 2005-11-06 at 17:06 -0500, Patrick Lam wrote: > > >>I don''t have anything against creating >>/etc/fonts/conf.d/artificial-embolden.conf. However, it seems that the >>system administrator can simply create the following >>/etc/fonts/local.conf file: >> >> <match target="font"> >> <!-- check to see if the font is just regular --> >> <test name="weight" compare="less_eq"> >> <int>100</int> >> </test> >> <!-- check to see if the pattern requests bold --> >> <test target="pattern" name="weight" compare="more_eq"> >> <int>200</int> >> </test> >> <!-- set the embolden flag --> >> <edit name="embolden" mode="assign"> >> <bool>false</bool> >> </edit> >> </match> >> >>and similarly for italics. > > > When I tried that - it did not work, I still received double embolding. > I will try again - perhaps I did not have the syntax perfect. I''m pretty > sure that is exactly what I tried (amongst other things). > > If it works, I''ll close the fedora RFE and report back. > > The issue I''m trying to deal with is font vendors that use a different > family name for each face - IE > > LucidaMonoEFOP-Roman > LucidaMonoEFOP-Bold > LucidaMonoEFOP-RomanItalic > etc > > One solution is of course to edit the fonts so they are in the same > family. > > The problem is I''m working on a project that is suppose to "be like > iTunes but for fonts" (fonts can be previewed, and when purchased - > installed for use), and changing the font from how the vendor > distributes it is not acceptable, the font store can not do that.
Michael A. Peters wrote:> The problem is that fake bold and italic are turned on in > the /etc/fonts/fonts.conf file - and can not be turned off (as far as I > can tell) without modifying that file. Since that file is not suppose to > modified, there basically is not a proper way to disable them if you > don''t want them.I don''t have anything against creating /etc/fonts/conf.d/artificial-embolden.conf. However, it seems that the system administrator can simply create the following /etc/fonts/local.conf file: <match target="font"> <!-- check to see if the font is just regular --> <test name="weight" compare="less_eq"> <int>100</int> </test> <!-- check to see if the pattern requests bold --> <test target="pattern" name="weight" compare="more_eq"> <int>200</int> </test> <!-- set the embolden flag --> <edit name="embolden" mode="assign"> <bool>false</bool> </edit> </match> and similarly for italics. pat
I filed the following bug report with Fedora Rawhide yesterday: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=172526 The problem is that fake bold and italic are turned on in the /etc/fonts/fonts.conf file - and can not be turned off (as far as I can tell) without modifying that file. Since that file is not suppose to modified, there basically is not a proper way to disable them if you don''t want them. If they were moved to a /etc/fonts/conf.d/ file - then packagers could package them as config missing ok (at least with rpm) and system administrators could remove them without modifying the main file. Another (better?) possibility would be to install them without numbers and install a numbered symlink that could just be removed. Another possibility that would require code (if it doesn''t exist already - I could not find it) would be a configuration directive that tells fontconfig not to embolden or italicize a particular font. Maybe create a dummy boolean pattern that is set to true, which fake embolding and fake italics can check - and then they can be set to false for fonts that should not be fake embolded or italicized.