latin modern fonts at eleventh hour

Upload: jeff-pratt

Post on 31-May-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/14/2019 Latin Modern fonts at eleventh hour

    1/37

    Latin Modern fonts

    at eleventh hour

    Brno, November,

    Bogusaw Jackowski

  • 8/14/2019 Latin Modern fonts at eleventh hour

    2/37

    aaaaaaaaaaaaaaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Latin Modern fonts: what are they?

    A olletion of fonts (urrently )in the POSTSCRIPT Type and OTF formats,

    based on the Computer Modern fonts, equippedwith a rich repertoire of diacritical characters

    AvailabilityCTAN, for example:ftp://ftp.dante.de/tex-archives/fonts/lm

    current version: ..number of glyphs: (ca per font)

    licence: openware, LPPL-basedmaintainers: B. Jackowski and J. M. Nowacki, GUST

  • 8/14/2019 Latin Modern fonts at eleventh hour

    3/37

    aaaaaaaaaaaaaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Latin Modern fonts: what are they for?

    The Latin Modern project, launched bylocal TEX users groups in Spring 2002,

    aimed at the collection of multilingual Latin-basedfonts that could be used as a default font family

    in the realm of TEX.

    Moreover, being distributed in bothPOSTSCRIPT Type 1 and OTF formats,

    the Latin Modern fonts can be used in any system

    that supports these formats.

  • 8/14/2019 Latin Modern fonts at eleventh hour

    4/37

    aaaaaaaaaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Why Latin Modern fonts?

    Other possibilities:

    Computer Modern fonts (D. E. Knuth, )obsolete because of the lack of diacritical characters

    EC fonts (J. Knappen and N. Schwartz, )obsolete because of the lack of outline fonts

    CM-Super family (V. Volovich, )

    very large and difficult to maintain

  • 8/14/2019 Latin Modern fonts at eleventh hour

    5/37

    aaaaaaaaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The Latin Modern distribution

    POSTSCRIPT Type 1 fonts, produced byMETATYPE1 (METAPOST engine plusa bunch of AWK scripts)

    OpenType fonts, prepared using Adobe Font

    Development Kit for OpenType (implementedfeatures: liga, onum, cpsp, dlig, frac)

    Support for TEX (.tfm files)

    Support for dvips and pdfTEX (.map and .enc files)

    Support for LATEX (.fd and .sty files) Substitutions (partial, of course) for CM, PL, CS, VN;

    the idea: to use the original TFM files with the relevantLatin Modern PFB files and dvips requisites

    METATYPE1

    sources

  • 8/14/2019 Latin Modern fonts at eleventh hour

    6/37

    aaaaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The Latin Modern distribution:

    the collection of fonts Fonts occurring both in LMs and CMs (50)

    lmb lmbx lmbx lmbx lmbx lmbx lmbx lmbx lmbxi lmbxolms lmr lmr lmr lmr lmr lmr lmr lmrlmri lmri lmri lmri lmri lmro lmro lmro lmrolmss lmss lmss lmss lmss lmsso lmsso lmsso lmsso lmssolmssbx lmssd lmssq lmssqolmts lmtt lmtt lmtt lmtt lmtti lmtto lmvtt

    Fonts present in LMs and absent from CMs (19)lmbo lmso lmro lmssbo lmssdo lmssqbx lmssqbo

    lmtso lmtk lmtko lmtl lmtlo lmtl lmtlolmvtk lmvtko lmvtl lmvtlo lmvtto

    Fonts absent from LMs and present in CMsmath companion (!)cmdunh cmff cmfi cmfib cminch cmtex cmtex cmtex cmu

  • 8/14/2019 Latin Modern fonts at eleventh hour

    7/37

    aaaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Latin Modern distribution:

    dark and light typewriter fonts

    lmtl10 (light): abcdefABCDEF012345

    lmtt10 (normal): abcdefABCDEF012345

    lmtk10 (dark): abcdefABCDEF012345 lmtlc10 (light condensed): abcdefABCDEF012345 lmvtl10 (light): abcdefABCDEF012345

    lmvtt10 (normal): abcdefABCDEF012345

    lmvtk10 (dark): abcdefABCDEF012345

    plus all oblique variants

  • 8/14/2019 Latin Modern fonts at eleventh hour

    8/37

    aaaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The Latin Modern distribution:

    encodingsThe LM package provides TEX font metric files for:

    EC (Cork) encoding (ec-.tfm)

    EL (European Letters aka dense) encoding, el-.tfm(originally introduced by the ConTEXt fraternity)

    QX (GUST) encoding, qx-.tfm

    Y&Ys TEXnANSI aka LY1 encoding, texnansi-.tfm

    T5 (Vietnamese) encoding, t5-.tfm Text Companion for EC fonts aka TS1, ts1-.tfm

  • 8/14/2019 Latin Modern fonts at eleventh hour

    9/37

    aaaaa

    cc ce ee ee ee ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The Latin Modern distribution:

    the collection of glyphs

    Aa

    & ^~*@Bb\ | { } [ ] Cc : , Dd $ E e 8 = ! F f

    ff ffifflfi5 fl 4 Gg

  • 8/14/2019 Latin Modern fonts at eleventh hour

    10/37

    aaaa

    cc cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The Latin Modern distribution:

    the collection of glyphs

    ` > Hh - I i

    J j Kk L l

  • 8/14/2019 Latin Modern fonts at eleventh hour

    11/37

    aaa

    cc cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The Latin Modern distribution:

    the collection of glyphs

    S s ; 7 6 /

    T t 3 2 U u _ V v W w

    X x Y y Z z 0

  • 8/14/2019 Latin Modern fonts at eleventh hour

    12/37

    aa

    cc cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Who is to be blamed for the plentitude

    of diacritical characters?Six hundred years ago people tried to avoid them:

    Ztyechto kuow myey nauczenye kterak mazywbyty awey duy propyety /Prwy kuzlaty / ktoz da geden halerz

    Z techto kusv mej naucenie, kterak mas zivbyti a svej dusi prospeti.Prvy kus zlaty: Ktoz da jeden haler. . .

    Jan Hus (), Devet zlatych kusu

  • 8/14/2019 Latin Modern fonts at eleventh hour

    13/37

    a

    cc cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Who is to be blamed for the plentitude

    of diacritical characters?

    Mistr Jan HusOrthographia Bohemica

    Alois Vojtech Sembera, Mistra Jana Husiortografie ceska. Vydal Alois Vojtech Sembera.Ve Vidni , s. (v Archvu hl. m. Prahy?)

  • 8/14/2019 Latin Modern fonts at eleventh hour

    14/37

    cc cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    What can be found in the Internet

    about hacek? It was introduced by Jan Hus (probably)

    HACEK can be acute to your heart...

    The acronym HACEK refers to a groupingof gram-negative bacilli:Haemophilus species,Actinobacillus actinomycetemcomitans,Cardiobacterium hominis,

    Eikenella corrodens,Kingella species.These organisms are responsible for acuteheart diseases.

  • 8/14/2019 Latin Modern fonts at eleventh hour

    15/37

    a

    cc cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    What can be found in the Internet

    about hacek? It was introduced by Jan Hus (probably)

    HACEK can be acute to your heart...

    Which, in a way, agrees with D. E. Knuthsanticipation:

    Type design can be hazardous [...] Once you gethooked, you will develop intense feelings aboutletterforms; the medium will intrude

    on the messages that you read. And you willperpetually be thinking of improvementsto the fonts that you see everywhere, especiallythose of your own design.

    Isnt it a heart disease?

  • 8/14/2019 Latin Modern fonts at eleventh hour

    16/37

    c cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    How the Latin Modern family was created?

    METATYPE1

    source(and report)

    PostScript

    Type 1 font

    Gawk

    T1Utils

    METATYPE1

    source

    METAPOST

    output(tfm, eps, aux)

    PostScript

    Type 1 font

    METAPOST

    Gawk

    T1Utils

  • 8/14/2019 Latin Modern fonts at eleventh hour

    17/37

    cee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The structure of a Latin Modern source:

    a driver file (lmr10)

    1. % LATIN MODERN font: a driver file for lmr102. input fontbase;3. vardef cm_pal = "cmr10" enddef;

    4. input comm_mac; % common defs, CM params5. input comm_mph; % common header6. input lmr10.mpm; % metric data7. input lmr10.mph; % PS-oriented header8. beginfont9. input lmr10.mpg; % frozen glyphs

    10. input comm_mpg; % common glyphs (mainly diacritics)

    11. if known generating: % optimize proofing time12. input lmr10.mpl; % ligatures and kerns13. fi14. endfont15. %%%% EOF

  • 8/14/2019 Latin Modern fonts at eleventh hour

    18/37

    ee eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    The structure of a Latin Modern source:

    a boring excerpt from the file comm_

    mpg.mp(common glyphs)

    . . .

    %% \vb\- Aacute:\- \PICT{Aacute}\-acc_glyph(_A)(_Acute)(_Aacute);

    %% \vb\- aacute:\- \PICT{aacute}\-acc_glyph(_a)(_acute)(_aacute);

    %% \vb\- Abreve:\- \PICT{Abreve}\-acc_glyph(_A)(_Breve)(_Abreve);

    %% \vb\- abreve:\- \PICT{abreve}\-acc_glyph(_a)(_breve)(_abreve);

    %% \vb\- Abreveacute:\- \PICT{Abreveacute}\-acc_glyph(_A)(_breveacute)(_Abreveacute);

    %% \vb\- abreveacute:\- \PICT{abreveacute}\-acc_glyph(_a)(_breveacute)(_abreveacute);. . .

  • 8/14/2019 Latin Modern fonts at eleventh hour

    19/37

    e eee eee eee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    A few examples of less boring

    accented characters

  • 8/14/2019 Latin Modern fonts at eleventh hour

    20/37

    eee eee e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    A few examples of less boring

    accented characters

  • 8/14/2019 Latin Modern fonts at eleventh hour

    21/37

    ee eee e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    A few examples of less boring

    accented characters

  • 8/14/2019 Latin Modern fonts at eleventh hour

    22/37

    e eee e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    A few examples of less boring

    accented characters

  • 8/14/2019 Latin Modern fonts at eleventh hour

    23/37

    ee e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues

    A subset of CMs font metric files can be safelyused with LMs PFB files; known exceptions:

    lack of math (will be fixed soon)

    a macro \hbar produces slightly worse result(green CM, gray LM, blue LM glyph):

    hh

  • 8/14/2019 Latin Modern fonts at eleventh hour

    24/37

    e e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues

    A subset of CMs font metric files can be safelyused with LMs PFB files; known exceptions:

    lack of math (will be fixed soon)

    a macro \hbar produces slightly worse result

    there are some discrepancies between CS and LMType 1 (PFB) fonts, reported by Karel Pska;for example, the widths of guillemots differ,most significantly in 5-point fonts:

    csr5.pfb: 5000/9=555.556; lmr5.pfb: 750but in csr10.pfb i and lmr10.pfb the respectivewidths are consistent:

    csr10.pfb: 5000/9=555.556

    lmr10.pfb: 5000/9=555.556

  • 8/14/2019 Latin Modern fonts at eleventh hour

    25/37

    e e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues

    A subset of CMs font metric files can be safelyused with LMs PFB files; known exceptions:

    lack of math (will be fixed soon)

    a macro \hbar produces slightly worse result

    there are some discrepancies between CS and LMType 1 (PFB) fonts, reported by Karel Pska:

    csr5.pfb: H

    lmr5.pfb: H

  • 8/14/2019 Latin Modern fonts at eleventh hour

    26/37

    e e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues

    A subset of CMs font metric files can be safelyused with LMs PFB files

    In general, however, full compatibilitycannot be even dreamt of

    the sets of fonts differ

    the exact dimensions of glyphs cannot be retained(the infamous limit of 16 heights, 16 depthsand 64 italic corrections)

    in the LM fonts some apparent flawsof the CM fonts have been corrected(both concerning metric dataand character shapes)

  • 8/14/2019 Latin Modern fonts at eleventh hour

    27/37

    e e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues

    So, why not to follow the Senior Typographer, Hermann Zapf,who quite recently decided to improve his Optima?

  • 8/14/2019 Latin Modern fonts at eleventh hour

    28/37

    e e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues

    What can we do to make the LM fontsusable for the Czech TEX community?

    We have already equipped LMs inCzech double quotes

    Accents (hacek) have been modified

    CS encoding(s), i.e., the relevant .tfm files,can be easily added to the LM distribution

    We are open to further suggestions

  • 8/14/2019 Latin Modern fonts at eleventh hour

    29/37

    e

    ee eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues:an example of strange kernings

    that have been corrected

    The file roman.mf reads:

    % three degrees of kerning:k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#;ligtable "k":

    if serifs: "v": "a" kern -u#, fi"w": "e" kern k#, "a" kern k#,

    "o" kern k#, "c" kern k#;

    The kern pair k-a appears in TFMs of serif fontstwice: first with the value u#, next with

    the value k#, i.e., 0.5u#; moreover, thereare no v-a, v-c, v-e, and v-o kern pairs in sansseriffonts, although there are k-c, k-a, k-e, k-o, w-a,w-c, w-e, and w-o kern pairs in these fonts.The problem of missing v-* kerns in sansserif variants

    occurs in EC, CS, PL, VN, and CM-Super fonts!

  • 8/14/2019 Latin Modern fonts at eleventh hour

    30/37

    e eee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues:a few example glyphs (mostly accents)

    that we decided to touch

    } ^ _

    solid green CM, outline black

  • 8/14/2019 Latin Modern fonts at eleventh hour

    31/37

    ee eggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Compatibility issues:an example feature

    that we are not going to touch

    In the LM typewriter fonts, the letters v, y, x werereported to be too thin; the comparison with the

    original fonts shows, that this was D. E. Knuths design:

    Font vtt10: CMs bitmap; CMs outlines; LMs outlines

  • 8/14/2019 Latin Modern fonts at eleventh hour

    32/37

    ggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Plans for the future

    We are not going to equip the Latin Modernfonts with non-Latin alphabets, such ascyrillic, Greek, etc.

    We are not going to increase the numberof so called optical sizescan you seeany difference?

    eee

  • 8/14/2019 Latin Modern fonts at eleventh hour

    33/37

    ggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Plans for the future

    We are not going to equip the Latin Modernfonts with non-Latin alphabets, such ascyrillic, Greek, etc.

    We are not going to increase the numberof so called optical sizescan you seeany difference?

    eeecmr8 at 9pt cmr9 at 9pt cmr10 at 9pt

  • 8/14/2019 Latin Modern fonts at eleventh hour

    34/37

    ggg

    y yy yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Plans for the future

    We are not going to equip the Latin Modernfonts with non-Latin alphabets, such ascyrillic, Greek, etc.

    We are not going to increase the numberof so called optical sizes

    In general, we are not going to go too far withthe improvement of the original D. E. Knuthsdesignwe will consider the changing of only

    those features which would have hamperedthe extending of the Latin Modern familywith new diacritical characters

  • 8/14/2019 Latin Modern fonts at eleventh hour

    35/37

    yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Plans for the future: to do

    Fixing bugs and misfeaturesas soon as possible

    Reaching the basic stability of the metric dataof the packagebefore the release of the version 1.00(scheduled for Spring 2006, BachoTEX)

    Adding a basic math companion (borrowedfrom CMs, to begin with)timing as above

    The improvement of kerning (reluctantly), glyphshapes (redrawing all accents from scratch?),and hinting; improving OTFs by, e.g., the additionof new featuresnot in a hurry

    Further extensions to the character set (e.g., Africanlanguages)after the release of the version 1.0

    More math, small capsfar future?..

  • 8/14/2019 Latin Modern fonts at eleventh hour

    36/37

    yBrno, November, Bogusaw Jackowski Latin Modern fonts at eleventh hour

    Should you have remarks concerningthe current LM release, please consult

    Harald Harderss www pageWishes for Latin Modern:

    http://www.harald-harders.de/latex/lmodern.html

    At the moment the page is unmaintained;

    nevertheless, a lot of information can be found there.

  • 8/14/2019 Latin Modern fonts at eleventh hour

    37/37

    The Latin Modern project is supported by TEX UsersGroups, in particular, by the German-speakingTEX Users Group DANTE e.V., the Polish TEX UsersGroup GUST, the French-speaking TEX Users Group

    GUTenberg, the Dutch-speaking TEX Users Group NTGandlast but not leastTUG.