5

Question

I would like to use a Multiple Master font with a width axis for the HZ-program (=Herman Zapf Programm, equivalent to the microtype-package of LaTeX)

In standard configuration, ConTeXt (and microtype) stretches fonts horizontally to fit into a line. I want ConTeXt not to stretch the font, but to use different font files with different widths, which I provide. One font file for each width.

What do I have to do to make ConTeXt use my Open Type Fonts instead of stretching?

Multiple Master font for you to test

For this first test, I created 21 instances of a multiple master font (Adobe Serif, comes with Adobe Reader for free) with different widths. The instances are called AdobeSerifMM_400_500.otf to AdobeSerifMM_400_700.otf. The first number in each filename, 400, is the weight, which is constant. The last number is the width, going from 500 (3-7% narrower) over 600 (normal) to 700 (3-7% wider) in +10-steps.

I suppose, I am not allowed to share the fonts, but I can share the way to create them:

  • find and copy zy______.* files from Adobe Reader folder

  • create afm-file with pfm2afm.exe zy______.pfm from the pfm2afm-package from ctan

  • create instances, running width from 500 to 700 mmpfb --weight=400 --width=600 --precision=0 ZY______.PFB > AdobeSerifMM_400_600.pfb with LCDF-Typetools (http://www.lcdf.org/type/)

  • create empty kerning tables t1rawafm.exe < AdobeSerifMM_400_600.pfb > AdobeSerifMM_400_600.afm

  • convert these Type1-fonts to OTF-format. I used http://www.freefontconverter.com/. For the future I plan using offline tools like this: http://www.adobe.com/devnet/opentype/afdko/topic_overview.html

  • now you have Open Type Font Instances of the same font with different widths

FYI: Here are four PDF-files with the four extreme instances of AdobeSerifMM. https://www.dropbox.com/sh/dpi4ok0yl17tchn/4hWB2LwJ9X

closed as off-topic by Joseph Wright Feb 1 '14 at 21:26

  • This question does not fall within the scope of TeX, LaTeX or related typesetting systems as defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 2
    I don't know the answer of your question, but why are you converting the fonts to afm files. The standard way to use fonts with ConTeXt is to use OTF fonts directly. – Aditya Nov 11 '13 at 23:17
  • 1
    (1) pdftex/luatex will only find the fonts if their names follow the pattern <font>(+-)<step>, so AdobeSerifMM_400-100.otf through AdobeSerifMM_400.otf (the default) up to AdobeSerifMM_400+100.otf. (2) You also need map entries for each font. (3) I don't know whether it will work with OpenType fonts at all or only with Type 1 fonts. – Robert Nov 12 '13 at 3:42
  • Aditya: Multiple Master Fonts native format is Type1 (AFM/PFB/PFM). So the MM-instances are also Type1. I convert the instances to OTF, so that ConTeXt can use them without further work. So the resulting files are OTF. Robert: Thanks, years ago I found a usenet- or mail-list-thread about ConTeXt, MM and the "+-"-pattern you describe. I cannot find it anymore. I think it worked with Type1-fonts. What kind of mapping is necessary? Do you have a search term for me? – Hanseat Nov 12 '13 at 14:35
  • 1
    It may be worthwhile to ask this question on the context mailing list – Aditya Nov 12 '13 at 21:21
  • 2
    From looking at context's luatex-fonts-ext.lua, it seems that expansion will always be automatic, meaning that your prepared font instances will be simply ignored. A quick test confirms this. So you should indeed ask on the context list and make a feature request. – Robert Nov 13 '13 at 20:28