Technical: Metadata: set OS/2.fsType=0 (Installable Embedding)

Bug #648406 reported by Paul Sladen
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Ubuntu Font Family
Fix Released
Critical
Paul Sladen
ubuntu-font-family-website
Fix Released
High
Paul Sladen
ubuntu-font-family-sources (Ubuntu)
Fix Released
High
Paul Sladen

Bug Description

(Thanks to Nicolas).

The final .ttfs need to allow for embedding and reuse. This is done by setting the fsType entry in the os2 table to be 0x0000. Documentation on the field can be found at:

  http://partners.adobe.com/public/developer/opentype/index_os2.html#fst

And this can be found in Fontforge: Element-> Font Info -> OS/2 ->
Embeddable (or 'os2_fstype' in the Python module).

Not making this change may restrict the use of the fonts on certain software or systems which check the value of this field (eg. apparently MSIE9 with .ttf webfonts). This can be patched with:

    f = ttLib.TTFont(sys.argv[1])
    f['OS/2'].fsType = 0x0000
    f.save(sys.argv[2])

Paul Sladen (sladen)
Changed in ubuntu-font-family:
milestone: none → 0.70
status: New → Confirmed
importance: Undecided → High
Paul Sladen (sladen)
summary: - Technical: Metadata: set os2:fsType=0x0000 (Installable Embedding)
+ Technical: Metadata: set OS/2.fsType=0 (Installable Embedding)
description: updated
tags: added: ttf-licence ttf-metadata
Paul Sladen (sladen)
description: updated
Revision history for this message
Paul Sladen (sladen) wrote :

Patched via a script as part of the midstream .orig.tar.gz generation process:

  http://font.ubuntu.com/download/ubuntu-font-family-sources_0.68+ufl.diff

Changed in ubuntu-font-family:
status: Confirmed → Fix Released
Paul Sladen (sladen)
Changed in ubuntu-font-family:
milestone: 0.70 → 0.68
Revision history for this message
Paul Sladen (sladen) wrote :

Re-opening against 0.70... the DRM bits need to be cleared in the various source .ttfs. Will consult in the morning to what degree the whole lot needs respinning, depending on whether anything else shows up.

Changed in ubuntu-font-family:
milestone: 0.68 → 0.70
status: Fix Released → Triaged
Revision history for this message
Paul Sladen (sladen) wrote :

Shiraaz and Malcolm: I haven't (yet) spotted anything further wrong with the .zip supplied on 2010-12-06. Could you please remake these ensuring that the fstype bits are cleared in all of the files from the FontLab source down to the Final .ttfs.

If the copies sent to me were/are the only copies,then I'm happy for you to re-spin it still as 0.70, and I'll supersede the present copies as having been previews and delete them. (If there are more copies in the wild than just the ones I have, then they will need remaking with a new numbered release).

Changed in ubuntu-font-family:
assignee: nobody → Malcolm Wooden (malcolm-daltonmaag)
Revision history for this message
Shiraaz Gabru (shiraaz) wrote :

Hi Paul. The only copies were sent your way, so none in the wild. If you are happy with the files sent, except for this bug report, can I suggest we fix this in the next release, expected in a couple of weeks from now.

Revision history for this message
Paul Sladen (sladen) wrote :

Shiraaz: in addition to going into the distribution, there's another technical project currently in the works that is waiting for the 0.70 release. I've managed to stall that for the last fortnight as a 0.70 was looking close; I will need to have a newer package up on font.ubuntu.com by the end of the week (2010-12-10) that has also been checked over. That date is an absolute upper-bound.

Leaving the fstype DRM bits set we are depriving users of the very Freedoms that we are trying to offer users, a font that does not come with opaqueness or place restrictions on how it can be used; I'm not comfortable with putting out a release with the fstype bits set, as it would be a regression against the previous 0.69 release and the ideology and flexibility trying to be promoted. The short-term gain would not (in my opinion) out weight the downsides.

The main options that come to mind are (please suggest more if there are ones):

  1. I can leave the existing script in the build process, patch the fstype bits to zero, and break the signatures.
  2. Have a new build with fstype bits cleared, and good signatures.
  3. Don't put out a release at all.

(1) requires a little effort, since this time around I would patch to the source .ttfs which I failed to do the last time around (something missed in the extreme hurry the last time around for 0.69) and I don't wish/intend to repeat after it was kindly reported to us.

(2) of course takes time on the Dalton Maag side, but would be the cleanest and most preferable: patching remains a last resort. Fixing minor technical issues: clearing these DRM bits, setting the Copyright strings, restoring the version glyph and ensuring the signature were the very reasons for proposing (on 22 October 2010) to do this otherwise low-change 0.70 release.

(3) normally this would be my preference; waiting and doing things purely in terms of quality (and not time). Whilst I applaud doing another release in a couple of weeks, it is beyond the time-frame available for in this case because it would block progress elsewhere.

Given a choice between a having a good signature, or having a libre/free/open release, the second wins.

Revision history for this message
Dave Crossland (davelab6) wrote :

"I'm not comfortable with putting out a release with the fstype bits set"

Having a DRM'd Ubuntu font would not go down well with the press, no.

Please fix the fsType DRM bits for 0.70 :)

Revision history for this message
Shiraaz Gabru (shiraaz) wrote :

Paul, Dave. We'll do the fix and re-issue V0.70 shortly

Paul Sladen (sladen)
Changed in ubuntu-font-family:
status: Triaged → Fix Committed
Shiraaz Gabru (shiraaz)
Changed in ubuntu-font-family:
status: Fix Committed → In Progress
Revision history for this message
Paul Sladen (sladen) wrote :

Shiraaz: this is done (again), or does it need something longer term doing that means it's still "In Progress"?

Revision history for this message
Paul Sladen (sladen) wrote :

Changing back to Fix Committed, the change has been made and the resulting files are currently in internal sanity checking/testing. If these pass then a public _release_ can be made, at which point this will be Fix Released!

Changed in ubuntu-font-family:
status: In Progress → Fix Committed
Revision history for this message
Paul Sladen (sladen) wrote :

2010-12-14 (Paul Sladen) Ubuntu Font Family version 0.70

  Release notes 0.70:
  * (Design) Add Capitalised version of glyphs and kern. (Rg, It, Bd,
    BdIt) DM (LP: #676538, #677446)
  * (Design) Give acute and grave a slight upright move to more match
    the Hungarian double acute angle. (Rg, It, Bd, BdIt) (LP: #656647)
  * (Design) Shift Bold Italic accent glyphs to be consistent with the
    Italic. (BdIt only) DM (LP: #677449)
  * (Design) Check spacing and kerning of dcaron, lcaron and
    tcaron. (Rg, It, Bd, BdIt) (LP: #664722)
  * (Design) Add positive kerning to () {} [] to open out the
    combinations so they are less like a closed box. (Rg, It, Bd,
    BdIt) (LP: #671228)
  * (Design) Change design of acute.asc and check highest points (Bd
    and BdIt only) DM
  * (Production) Update <case> feature. DM (LP: #676538, #676539)
  * (Production) Remove Romanian locl feature. (Rg, It, Bd, BdIt)
    (LP: #635615)
  * (Production) Update Copyright information with new
    strings. "Copyright 2010 Canonical Ltd. Licensed under the Ubuntu
    Font Licence 1.0" Trademark string "Ubuntu and Canonical are
    registered trademarks of Canonical Ltd." (Rg, It, Bd, BdIt) DM
    (LP: #677450)
  * (Design) Check aligning of hyphen, math signs em, en, check braces
    and other brackets. 16/11 (LP: #676465)
  * (Production) Pixel per em indicator added at U+F000 (Rg, It, Bd,
    BdIt) (LP: #615787)
  * (Production) Version number indicator added at U+EFFD (Rg, It, Bd,
    BdIt) (LP: #640623)
  * (Production) fstype bit set to 0 - Editable (Rg, It, Bd, BdIt)
    (LP: #648406)

Changed in ubuntu-font-family:
status: Fix Committed → Fix Released
Revision history for this message
Denis Moyogo Jacquerye (moyogo) wrote :

Hi, congrats for the 0.70 release.

But I notice fstype=8 instead of fstype=0.

Revision history for this message
Paul Sladen (sladen) wrote :
Revision history for this message
Paul Sladen (sladen) wrote :

Denis: thank you for catching this. I'll now add a unit-test based on the Python snippet at the bottom to the build to catch it properly.

Originally the 0.70 packages were prepared 1 week ago and sent out for comments and review, with the necessary changes only committed locally to revision control. On Saturday morning the hard disk failed, taking the revision control that generated those 0.70 test releases with it. I spent around 5 hours trying to recover these trees from the failed disk and in the end re-did the changes from scratch. Evidently I rebuilt these from the wrong input. My apologies to yourself, and particularly to Dalton Maag who went to such effort to correct this at their end.

Changed in ubuntu-font-family:
assignee: Malcolm Wooden (malcolm-daltonmaag) → Paul Sladen (sladen)
importance: High → Critical
status: Fix Released → Confirmed
Revision history for this message
Paul Sladen (sladen) wrote :
Changed in ubuntu-font-family-website:
importance: Undecided → High
status: New → Fix Released
assignee: nobody → Paul Sladen (sladen)
Revision history for this message
Paul Sladen (sladen) wrote :
Changed in ubuntu-font-family:
status: Confirmed → Fix Released
Changed in ubuntu-font-family-sources (Ubuntu):
assignee: nobody → Paul Sladen (sladen)
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-font-family-sources - 0.70.1-0ubuntu1

---------------
ubuntu-font-family-sources (0.70.1-0ubuntu1) natty; urgency=low

  * New upstream release 0.70.1

  Packaging, rebuilt from '2010-12-08 UbuntuFontsSourceFiles_070.zip':
  * (Midstream) Fstype bit != 0 (LP: #648406)
  * (Midstream) Add unit test to validate fstype bits (LP: #648406)
 -- Paul Sladen <email address hidden> Tue, 14 Dec 2010 15:18:00 +0000

Changed in ubuntu-font-family-sources (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Paul Sladen (sladen) wrote :

This a new upstream version of the Ubuntu Font Family. In addition to
the extensive bug fixes it doubles the number of .ttfs files, from four
to eight with the inclusion of Light, Medium and italics.

Upstream changelog:

2010-03-08 (Paul Sladen) Ubuntu Font Family version 0.71.2

* (Production) Adjust Medium WeightClass to 500 (Md, MdIt) (LP:
#730912)

2010-03-07 (Paul Sladen) Ubuntu Font Family version 0.71.1

* (Design) Add Capitalised version of glyphs and kern. (Lt, LtIt,
Md, MdIt) DM (LP: #677446)
* (Design) Re-space and tighen Regular and Italic by amount specified
by Mark Shuttleworth (minus 4 FUnits). (Rg, It) (LP: #677149)
* (Design) Design: Latin (U+0192) made straight more like l/c f with
tail (LP: #670768)
* (Design) (U+01B3) should have hook on right, as the lowercase
(U+01B4) (LP: #681026)
* (Design) Tail of Light Italic germandbls, longs and lowercase 'f'
to match Italic/BoldItalic (LP: #623925)
* (Production) Update <case> feature (Lt, LtIt, Md, MdIt). DM
(LP: #676538, #676539)
* (Production) Remove Bulgarian locl feature for Italics. (LP: #708578)
* (Production) Update Description information with new string:
"The Ubuntu Font Family are libre fonts funded by Canonical Ltd
on behalf of the Ubuntu project. The font design work and
technical implementation is being undertaken by Dalton Maag. The
typeface is sans-serif, uses OpenType features and is manually
hinted for clarity on desktop and mobile computing screens. The
scope of the Ubuntu Font Family includes all the languages used
by the various Ubuntu users around the world in tune with
Ubuntu's philosophy which states that every user should be able
to use their software in the language of their choice. The
project is ongoing, and we expect the family will be extended to
cover many written languages in the coming years."
(Rg, It, Bd, BdIt, Lt, LtIt, Md, MdIt) (LP: #690590)
* (Production) Pixel per em indicator added at U+F000 (Lt, LtIt, Md,
MdIt) (LP: #615787)
* (Production) Version number indicator added at U+EFFD (Lt, LtIt, Md,
MdIt) (LP: #640623)
* (Production) fstype bit set to 0 - Editable (Lt, LtIt, Md, MdIt)
(LP: #648406)
* (Production) Localisation of name table has been removed because
of problems with Mac OS/X interpretation of localisation. DM
(LP: #730785)
* (Hinting) Regular '?' dot non-circular (has incorrect control
value). (LP: #654336)
* (Hinting) Too much space after latin capital 'G' in 13pt
regular. Now reduced. (LP: #683437)
* (Hinting) Balance Indian Rupee at 18,19pt (LP: #662177)
* (Hinting) Make Regular '£' less ambiguous at 13-15 ppm (LP: #685562)
* (Hinting) Regular capital 'W' made symmetrical at 31 ppem (LP: #686168)

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.