On 11/28/2013 02:25 PM, Paul Flo Williams wrote:
Nicolas Mailhot wrote:

Le Mer 27 novembre 2013 15:39, Petr Vobornik a écrit :

OTF/TTF fails in all modern versions of IE when the font does not have
embedding permissions set to 'installable' [1]. It's more common that
one would say.

Of course it is very common, it's the default setting in most font
authoring tools, and the authors of those tools were very much against web
fonts in the first place. So font authors that actually want to do web
fonts and actually choose free font licenses get betrayed by their
tooling. And a lot of them do not care for ie at all anyway.

Just write a fontforge or ttx script that flips this bit at rpm build
time, assuming you've done your legal review correctly the bit is in
contradiction with the font license (if the font was no installable we
could not package it in the first place). You'll be doing nothing more
than fixing a bug in upstream's font implementation.

OK, seems to be the easiest way. Originally, I wanted to avoid it because idk what is the correct way. I've created a simple script to do it:

  #!/usr/bin/fontforge
  i=1
  while ( i<$argc )
      Open($argv[i])
      SetOS2Value("FSType", 0) # set 'Embeddable' to 'Installable Font'
      fmflags = 0x800 # generate old kern table
      Generate($argv[i]:r + ".ttf", "", fmflags)
      i = i+1
  endloop

The script is not good because it doesn't touch only OS/2 table but it regenerates the whole font file (different GPOS, dropping DSIG and without fmflags also dropping KERN table).

I've also tried to use ttx with a hope that it won't touch other tables, but it crashed on parsing OpenSans font.


Perhaps we should add this to the font packaging guidelines?

+1


Flipping through the 235 packaged fonts installed on my system, I see that
26 of them have fsType fields that limit embedding rights. The ones
affected are those from smaller "foundries" and OFLB, as you might expect,
but also Droid Sans, which was a surprise.

--
Petr Vobornik
--
devel mailing list
devel@lists.fedoraproject.org
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct

Reply via email to