Using OS 9 resource fork fonts in CSS with @font-face

后端 未结 3 693
盖世英雄少女心
盖世英雄少女心 2020-12-25 08:50

I have some old OS 9 fonts which contain the font data in the resource fork. When I try to link such a font in a @font-face and open up the HTML in a browser, the text still

相关标签:
3条回答
  • 2020-12-25 09:19

    The font data in an old Mac OS font suitcase is not in TTF format -- copying the resource fork to a TTF file will give you Mac OS resource data in a file named "font.ttf", which isn't right. You'll need to use a tool like FontForge (free/open-source) to do the conversion.

    0 讨论(0)
  • 2020-12-25 09:29

    Font Suitcases can potentially hold 2 different kinds of fonts: bitmap fonts and TrueType fonts. Bitmap fonts would be 'NFNT' resources along with the necessary 'FOND' (font family information). On the other hand, TrueType fonts would be 'sfnt' resource entries along with the necessary 'FOND' (font family information). Normally, font suitcases that hold bitmap font data are only one half of the font; to be usable you need to have the additional PostScript Outline font files (these will have an LWFN icon).

    Otherwise, the font suitcase can represent a TrueType font, which compared to a "PostScript Type 1 Font Suitcase", is truly self-contained.

    To convert from a resource-file-based Mac TrueType font to a Windows TrueType font, you just need to extract the 'sfnt' resource entries).

    Since Rosetta is no more, I'm without Resorcerer, so I've managed to whip up a barebones resource file editor.

    http://www.markdouma.com/developer/ResourceFinagler.zip

    I just added a few lines so that you can now select the individual 'sfnt' resources like shown in the image below, and drag them to the Finder to create the individual Windows TrueType fonts.

    enter image description here

    enter image description here

    0 讨论(0)
  • 2020-12-25 09:35

    Since this is one of the first search results when searching how to handle Resource fork fonts on modern macOS systems here is a solution for batch converting a large group of font suitcases.

    First we can group them all in a single directory taking advantage of the find command, because find doesn't see the resource fork and consider the file empty, we create a new directory in the user home and copy all the suitcases there:

    mkdir ~/rsrc
    find . -type f -empty -exec cp {} ~/rsrc/ \;
    

    Then in mac we can use brew to install Fondu

    brew install fondu
    

    Finally we move to the directory with all the suitcases and run fondu on each file like this, the secret to get fondu to work is to make it read the resource fork by adding /../namedfork/rsrc at the end of the file, otherwise it fails.

    cd ~/rsrc
    find . -type f -empty -exec fondu -force {}/..namedfork/rsrc \;
    

    When the command finishes you should have a folder with the new .ttf, .bdf and .pfb files.

    You can delete the suitcase files from this directory running:

    find . -type f -empty -delete
    
    0 讨论(0)
提交回复
热议问题