1 Reply Latest reply on Jan 3, 2003 11:02 AM by (Read_Roberts)

    Building OTF fonts with cmap 4.238 and 1.29

    Level 1
      Dear FDK developers,

      how can I build an OTF font that has a 4.238 and 1.29 cmap? And how do I
      "enter" those cmaps into the font? Is this possible with FDK?

      Is there a list of all .fpr commands available somewhere? Some of them such
      as mac_cmap_script_id or mac_cmap_lang_id are not available from the GUI,
      and aren't listed. Are there others?

      Adam
        • 1. Re: Building OTF fonts with cmap 4.238 and 1.29
          Level 1
          You make a good point that the key/value pairs for the fpr file is not documented anywhere. I will add this to the MakeOTF documentation for the next release, due by late January.

          There is a one-for-one correspondence between .fpr key/value pairs and command-line options for makeotf.

          Unfortunately, the mac_cmap_script_id and mac_cmap_lang_id apply only to CJK fonts, to get over some short-comings of the heuristics for differentiating Std and Traditional Chinese.

          The only way to get a particular Mac cmap script/language combination in a Western font is to trigger one of the the rules in MakeOTF for identifying particular script/language combinations. You should be able to get Mac script 29, language default, by having either glyphs named ncaron or Ccaron in your font, and NOT having 'ecircumflex'. These rules will also be documented in the next release.

          The only way to circumvent these rules is to use another font editor to edit the cmap table. I use Just Von Rossum's ttx tool to dump to XML and edit the text file. The Apple dump/fuse tools work well for the same purpose., as does the Apple TrueEdit interactive editor.

          The current MakeOTF no longer makes the compaitbilty cmap subtable (platform 4), as we have decided to not use these in Adobe fonts, for reasons of Unicode purity (i.e. don't ever code a character other than by its proper Unicode value), so you also have to resort to other tools to make this.