Verwenden einer .fontspec-Datei mit mehreren defaultfontfeatures-Deklarationen

Verwenden einer .fontspec-Datei mit mehreren defaultfontfeatures-Deklarationen

Ich versuche, eine Fontspec-Definitionsdatei für Minion3 zu erstellen, die alle optischen Größen enthält. Es funktioniert, wenn ich alles in einer einzigen defaultfontfeaturesDefinition definiere:

\defaultfontfeatures[Minion3]
{
    UprightFont  = Minion3-Regular,
    BoldFont     = Minion3-Bold,
    ItalicFont   = Minion3-Italic,
    BoldItalicFont = Minion3-BoldItalic,
    %Numbers      = {Proportional,OldStyle},
    Numbers      = {Proportional},
    SizeFeatures = {
        { Size   = -9.9, Font = Minion 3 Caption },
        { Size   = 9.9-13.9 },
        { Size   = 13.9-25.9, Font = Minion 3 Subhead},
        { Size   = 25.9-, Font = Minion 3 Display},
    },
    BoldFeatures = {
        SizeFeatures = {
            { Size   = -9.9, Font = Minion 3 Caption Bold},
            { Size   = 9.9-13.9 },
            { Size   = 13.9-25.9, Font = Minion 3 Subhead Bold},
            { Size   = 25.9-, Font = Minion 3 Display Bold},
        },
    },
    ItalicFeatures = {
        SizeFeatures = {
            { Size   = -9.9, Font = Minion 3 Caption Italic},
            { Size   = 9.9-13.9 },
            { Size   = 13.9-25.9, Font = Minion 3 Subhead Italic},
            { Size   = 25.9-, Font = Minion 3 Display Italic},
        },
    },
    BoldItalicFeatures = {
        SizeFeatures = {
            { Size   = -9.9, Font = Minion 3 Caption Bold Italic},
            { Size   = 9.9-13.9 },
            { Size   = 13.9-25.9, Font = Minion 3 Subhead Bold Italic},
            { Size   = 25.9-, Font = Minion 3 Display Bold Italic},
        },
    },
}

Allerdings sollte es laut dem Fontspec-Handbuch (Seite 12-13) möglich sein, in derselben Datei eine Deklaration für die Schriftarten „Regular“, „Bold“, „Italic“ und „BoldItalic“ zu haben, und zwar etwa so:

\defaultfontfeatures[Minion3]{
    UprightFont     = {Minion3R},
    BoldFont        = {Minion3B},
    ItalicFont      = {Minion3I},
    BoldItalicFont  = {Minion3BI},
    %Numbers      = {Proportional,OldStyle},
    Numbers      = {Proportional},
}
\defaultfontfeatures[Minion3R]{
    Extension       = .otf,
    Font            = Minion3-Regular,
    SizeFeatures = {
        { Size   = -9.9, Font = Minion3Caption-Regular },
        { Size   = 9.9-13.9 },
        { Size   = 13.9-25.9, Font = Minion3Subhead-Regular},
        { Size   = 25.9-, Font = Minion3Display-Regular},
    },
}
\defaultfontfeatures[Minion3B]{
    Font            = Minion3-Bold,
    SizeFeatures = {
        { Size   = -9.9, Font = Minion3Caption-Bold },
        { Size   = 9.9-13.9 },
        { Size   = 13.9-25.9, Font = Minion3Subhead-Bold},
        { Size   = 25.9-, Font = Minion3Display-Bold},
    },
}
\defaultfontfeatures[Minion3I]{
    Font            = Minion3-Italic,
    SizeFeatures = {
        { Size   = -9.9, Font = Minion3Caption-Italic },
        { Size   = 9.9-13.9 },
        { Size   = 13.9-25.9, Font = Minion3Subhead-Italic},
        { Size   = 25.9-, Font = Minion3Display-Italic},
    },
}
\defaultfontfeatures[Minion3BI]{
    Font            = Minion3-BoldItalic,
    SizeFeatures = {
        { Size   = -9.9, Font = Minion3Caption-BoldItalic },
        { Size   = 9.9-13.9 },
        { Size   = 13.9-25.9, Font = Minion3Subhead-BoldItalic},
        { Size   = 25.9-, Font = Minion3Display-BoldItalic},
    },
}

Leider funktioniert die zweite Version nicht und die Kompilierung schlägt mit dem Fehler fehl

! Paket-Fontspec-Fehler: Die Schriftart „Minion3R“ kann nicht gefunden werden.

Die Fontspec-Definitionsdatei heißt Minion3.fontspec

und eine Test-Tex-Datei zur Demonstration der Funktionen stammt aushttp://tex.stackexchange.com/q/126096/14066(https://bitbucket.org/phg/lua-la-tex-tests/src/default/latex/ltx-fontspec-optical-size-3.tex):

\documentclass [12pt] {article}
\usepackage {fontspec}

%% set your font here

%\setmainfont {Arno Pro}
\setmainfont{Minion3}

%% helper for extracting the font name name, please ignore

\def\fontinfo{%
  \directlua {
    local f = fonts.hashes.identifiers [font.current ()]
    if f then
      tex.sprint (f.fullname, " ", string.sub (tostring (f.size / 2^16), 1, 4), "pt")
    end
  }%
}

%% testing macro

\def\test#1{%
  #1\section {\detokenize {#1}}
  \begin {itemize}
    \item {\rmfamily \upshape \fontinfo}
    \item {\rmfamily \upshape \bfseries \fontinfo}
    \item {\rmfamily \itshape \fontinfo}
    \item {\rmfamily \itshape \bfseries \fontinfo}
    \item {\rmfamily \scshape \fontinfo}
  \end {itemize}
}

\begin {document}

  testing family ``\rmdefault'' ...\par\vskip1cm

  \test\tiny
  \test\scriptsize
  \test\small
  \test\normalsize
  \test\large
  \test\Large
  \test\LARGE
  \test\Huge

\end {document}

Ich bin sicher, dass ich etwas Offensichtliches übersehe, kann aber nicht herausfinden, was.

Bearbeiten:

Da dies kein Minion3Problem ist und diese Schriftart proprietär ist, kann sie möglicherweise schwer reproduziert werden. Dieses Problem ist derzeit auch ohne reproduzierbar SizeFeatures, daher füge ich eine neue MyXCharter.fontspecDatei hinzu, die die erste Hürde mit einem Schriftartensatz reproduziert, der mit Texlive geliefert wird:

\defaultfontfeatures[MyXCharter]{
   UprightFont     = {XCharterR},
   BoldFont        = {XCharterB},
   ItalicFont      = {XCharterI},
   BoldItalicFont  = {XCharterBI},
   SlantedFont      = {XCharterS},
   BoldSlantedFont  = {XCharterBS},
   %Numbers      = {Proportional,OldStyle},
   Numbers      = {Proportional},
}
\defaultfontfeatures[XCharterR]{
   Extension       = .otf,
   Font            = XCharter-Roman,
}
\defaultfontfeatures[XCharterB]{
   Extension       = .otf,
   Font            = XCharter-Bold,
}
\defaultfontfeatures[XCharterI]{
   Extension       = .otf,
   Font            = XCharter-Italic,
}
\defaultfontfeatures[XCharterBI]{
   Extension       = .otf,
   Font            = XCharter-BoldItalic,
}
\defaultfontfeatures[XCharterS]{
   Extension       = .otf,
   Font            = XCharter-Slanted,
}
\defaultfontfeatures[XCharterBS]{
   Extension       = .otf,
   Font            = XCharter-BoldSlanted,
}

verwandte Informationen