\hypertarget{classPkFont}{\section{Pk\-Font Class Reference} \label{classPkFont}\index{Pk\-Font@{Pk\-Font}} } {\ttfamily \#include $<$Pk\-Font.\-h$>$} \subsection*{Public Member Functions} \begin{DoxyCompactItemize} \item \hyperlink{classPkFont_ab20c373a8e60b7e79be5741325505c21}{Pk\-Font} (double fontmag, unsigned int \hyperlink{classPkFont_a2372629183b6f0c21de042bba9cf90d6}{c}, unsigned int \hyperlink{classPkFont_ae9b74d1eabe2550e847e773b56503f84}{s}, unsigned int \hyperlink{classPkFont_a139399f1201c9206306d1e6801641ef5}{d}, string \hyperlink{classPkFont_adb13e67f5af6511085bfe14722e57cbc}{name}) \begin{DoxyCompactList}\small\item\em Represents a P\-K font. \end{DoxyCompactList}\item \hyperlink{classPkFont_aae4675c41729ff74db81d2054f99b22c}{$\sim$\-Pk\-Font} () \item \hyperlink{classPkGlyph}{Pk\-Glyph} $\ast$ \hyperlink{classPkFont_a8a3a1f82a8419c9a1812e51798abc8a0}{glyph} (unsigned int i) const \begin{DoxyCompactList}\small\item\em Returns the glyph at a given position in this font. \end{DoxyCompactList}\item string \hyperlink{classPkFont_a931111c14a36959dc4ae29fcc85979ea}{fontgen\-Command} () const \begin{DoxyCompactList}\small\item\em Returns a command which can be used to generate fonts. \end{DoxyCompactList}\item string \hyperlink{classPkFont_adb13e67f5af6511085bfe14722e57cbc}{name} () const \begin{DoxyCompactList}\small\item\em Identifies the current font. \end{DoxyCompactList}\item string \hyperlink{classPkFont_a6e8ebd2b7987b0f27d57fd288c338376}{font\-Filename} () const \begin{DoxyCompactList}\small\item\em Locates the current font's bitmap file. \end{DoxyCompactList}\item double \hyperlink{classPkFont_af2616e19dd97c2ad6ea110d50e672b0b}{magnification} (bool include\-Dvi\-Mag=true) const \begin{DoxyCompactList}\small\item\em Obtain the magnification of this font. \end{DoxyCompactList}\item int \hyperlink{classPkFont_a6569a1213bad3c7c4c4f9fcaea8e8038}{dpi\-Scaled} () const \begin{DoxyCompactList}\small\item\em Obtains the resolution of the current font, taking magnification into account. \end{DoxyCompactList}\item double \hyperlink{classPkFont_a7cdcaa9b0a3117f5a7f0bbc654b592b2}{scale} () const \begin{DoxyCompactList}\small\item\em Obtains the font's scale. \end{DoxyCompactList}\item bool \hyperlink{classPkFont_a657c9fc075fe1666da6169b74d8eb3db}{seen\-In\-Doc} (void) const \begin{DoxyCompactList}\small\item\em Has the current font been declared in the document so far, or just in the D\-V\-I file postamble. \end{DoxyCompactList}\item void \hyperlink{classPkFont_adb5ee050bea495757fadfe75519c44f4}{set\-Seen\-In\-Doc} (void) \item double \hyperlink{classPkFont_af24490434a6463e1c56f0bb161ba242a}{word\-Space} () const \begin{DoxyCompactList}\small\item\em Obtains the size of the {\ttfamily word\-\_\-space} parameter for this font. \end{DoxyCompactList}\item double \hyperlink{classPkFont_afbc0aaf3eaa2da21aae42e35bb386699}{back\-Space} () const \begin{DoxyCompactList}\small\item\em Obtains the size of the {\ttfamily back\-\_\-space} parameter for this font. \end{DoxyCompactList}\item double \hyperlink{classPkFont_a8107fec02197cf3773fc4c7513bb540b}{quad} () const \begin{DoxyCompactList}\small\item\em Obtains the size of the {\ttfamily quad} parameter for this font. \end{DoxyCompactList}\item double \hyperlink{classPkFont_a6481d974b6e4a3d5c16ca8248886dc9d}{design\-Size} () const \begin{DoxyCompactList}\small\item\em Obtains the design size of this font, as obtained from the P\-K file preamble. \end{DoxyCompactList}\item double \hyperlink{classPkFont_a3a47134e232437b0197e813e4fb55683}{hppp} () const \begin{DoxyCompactList}\small\item\em Obtains the number of horizontal pixels per point for this font, as obtained from the P\-K file preamble. \end{DoxyCompactList}\item double \hyperlink{classPkFont_add26935ee0082cd11a1292497b1209e7}{vppp} () const \begin{DoxyCompactList}\small\item\em Obtains the number of vertical pixels per point for this font, as obtained from the P\-K file preamble. \end{DoxyCompactList}\item unsigned int \hyperlink{classPkFont_aaef0fda87e8c235ac1ed2a53c8f3f406}{checksum} () const \begin{DoxyCompactList}\small\item\em Obtains the font checksum, as obtained from the P\-K file preamble. \end{DoxyCompactList}\item bool \hyperlink{classPkFont_a886be177c67f364808301b5a369ca6ac}{loaded} () const \begin{DoxyCompactList}\small\item\em Check if the font has actually been loaded. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item static \hyperlink{verbosity_8h_a886df075e73fd6d54e018791f87fa071}{verbosities} \hyperlink{classPkFont_a1644f9ff9ae14ba0cd1d732c79213388}{verbosity} (const \hyperlink{verbosity_8h_a886df075e73fd6d54e018791f87fa071}{verbosities} level) \item static void \hyperlink{classPkFont_a755835ee319f5bdbaafa1d7bb0f2e8ab}{set\-Font\-Search\-Path} (string fp) \begin{DoxyCompactList}\small\item\em Set the list of directories in which to look for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a63da20c0b5e50866efc0abb7c222a195}{set\-Font\-Search\-Path} (char $\ast$fp) \begin{DoxyCompactList}\small\item\em Set the list of directories in which to look for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_afa6b8ffa96e53dd892e0926bd049134f}{set\-Font\-Search\-Path} (bool yesno) \begin{DoxyCompactList}\small\item\em Enable or disable using the font-\/path when searching for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a1c7909a9befe05d4bc77664717326ac5}{set\-Font\-Search\-Command} (string cmd) \begin{DoxyCompactList}\small\item\em Set the shell command which is used when searching for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a7dab1fa9c280a3c83fb2f3e43ee42ec5}{set\-Font\-Search\-Command} (char $\ast$cmd) \begin{DoxyCompactList}\small\item\em Sets the shell command which is used when searching for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a93e492cd968af226a6ffab4e751fc424}{set\-Font\-Search\-Command} (bool yesno) \begin{DoxyCompactList}\small\item\em Enable or disable using a font-\/search command when searching for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a3a4341f7b767b1ee1cb7bd4ab86a69bf}{set\-Font\-Search\-Kpse} (bool yesno) \begin{DoxyCompactList}\small\item\em Enable or disable using the {\ttfamily kpathsea} library when searching for fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_aec6f9e4a5feefeca99ccabc63925f341}{set\-Resolution} (int res) \begin{DoxyCompactList}\small\item\em Sets the base font resolution. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a426c63bee456e0613c5966e5f455311d}{set\-Missing\-Font\-Mode} (string mode) \begin{DoxyCompactList}\small\item\em Sets the Metafont mode to be used when generating fonts. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a52c47f1d55daaeb3ce5e1a3d2e008312}{set\-Fontgen} (bool doit) \begin{DoxyCompactList}\small\item\em Enables or disables font generation. \end{DoxyCompactList}\item static void \hyperlink{classPkFont_a9c98ce68a3e3efc740eb76fbd428ed8c}{set\-Fontgen\-Command} (string command\-\_\-template) \begin{DoxyCompactList}\small\item\em Set the shell command which is used when generating fonts. \end{DoxyCompactList}\item static int \hyperlink{classPkFont_a4f830aadba0fe1febcef59b1a175cb09}{dpi\-Base} () \begin{DoxyCompactList}\small\item\em Obtains the base font resolution, in dots-\/per-\/inch. \end{DoxyCompactList}\item static string \& \hyperlink{classPkFont_a1e84f5a25a00754e32c00da7e9e92d7c}{substitute\-\_\-font\-\_\-string} (const string fmt, const string mode, const string fontname, const int dpi, const int basedpi, const double \hyperlink{classPkFont_af2616e19dd97c2ad6ea110d50e672b0b}{magnification}) throw (\-Pk\-Error) \begin{DoxyCompactList}\small\item\em Given a format string, return a reference to a string with format specifiers replaced by font information. \end{DoxyCompactList}\end{DoxyCompactItemize} \subsection{Constructor \& Destructor Documentation} \hypertarget{classPkFont_ab20c373a8e60b7e79be5741325505c21}{\index{Pk\-Font@{Pk\-Font}!Pk\-Font@{Pk\-Font}} \index{Pk\-Font@{Pk\-Font}!PkFont@{Pk\-Font}} \subsubsection[{Pk\-Font}]{\setlength{\rightskip}{0pt plus 5cm}Pk\-Font\-::\-Pk\-Font ( \begin{DoxyParamCaption} \item[{double}]{dvimag, } \item[{unsigned int}]{c, } \item[{unsigned int}]{s, } \item[{unsigned int}]{d, } \item[{string}]{name} \end{DoxyParamCaption} )}}\label{classPkFont_ab20c373a8e60b7e79be5741325505c21} Represents a P\-K font. The constructor arguments are those read from the D\-V\-I file font declaration, after a {\ttfamily fnt\-\_\-def} opcode, except for {\ttfamily dvimag}, which is the overall D\-V\-I magnification factor, and includes the file and command-\/line magnification adjustments. For more details, see the definition of the font declaration in section `\-A.4 Font defintions' of the D\-V\-I standard, and the use of these factors in method \hyperlink{classPkFont_af2616e19dd97c2ad6ea110d50e672b0b}{magnification}. \begin{DoxyParams}{Parameters} {\em dvimag} & the scale factor (1.\-0 = no magnification) by which the font is to be magnified as it is read from the P\-K file\\ \hline {\em c} & the font checksum expected\\ \hline {\em s} & fixed-\/point scale factor applied to the character widths in the font\\ \hline {\em d} & the fixed-\/point `design size' of the font\\ \hline {\em name} & the name of the font \\ \hline \end{DoxyParams} References c, d, dpi\-Scaled(), fontgen\-Command(), Pipe\-Stream\-::get\-Result(), Pipe\-Stream\-::get\-Termination\-Status(), magnification(), normal, Dvi\-Error\-::problem(), quiet, and s. \hypertarget{classPkFont_aae4675c41729ff74db81d2054f99b22c}{\index{Pk\-Font@{Pk\-Font}!$\sim$\-Pk\-Font@{$\sim$\-Pk\-Font}} \index{$\sim$\-Pk\-Font@{$\sim$\-Pk\-Font}!PkFont@{Pk\-Font}} \subsubsection[{$\sim$\-Pk\-Font}]{\setlength{\rightskip}{0pt plus 5cm}Pk\-Font\-::$\sim$\-Pk\-Font ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )}}\label{classPkFont_aae4675c41729ff74db81d2054f99b22c} \subsection{Member Function Documentation} \hypertarget{classPkFont_afbc0aaf3eaa2da21aae42e35bb386699}{\index{Pk\-Font@{Pk\-Font}!back\-Space@{back\-Space}} \index{back\-Space@{back\-Space}!PkFont@{Pk\-Font}} \subsubsection[{back\-Space}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::back\-Space ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_afbc0aaf3eaa2da21aae42e35bb386699} Obtains the size of the {\ttfamily back\-\_\-space} parameter for this font. This does {\itshape not} include any overall D\-V\-I magnification. \begin{DoxyReturn}{Returns} {\ttfamily back\-\_\-space} in D\-V\-I units \end{DoxyReturn} \hypertarget{classPkFont_aaef0fda87e8c235ac1ed2a53c8f3f406}{\index{Pk\-Font@{Pk\-Font}!checksum@{checksum}} \index{checksum@{checksum}!PkFont@{Pk\-Font}} \subsubsection[{checksum}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int Pk\-Font\-::checksum ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_aaef0fda87e8c235ac1ed2a53c8f3f406} Obtains the font checksum, as obtained from the P\-K file preamble. \begin{DoxyReturn}{Returns} checksum \end{DoxyReturn} \hypertarget{classPkFont_a6481d974b6e4a3d5c16ca8248886dc9d}{\index{Pk\-Font@{Pk\-Font}!design\-Size@{design\-Size}} \index{design\-Size@{design\-Size}!PkFont@{Pk\-Font}} \subsubsection[{design\-Size}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::design\-Size ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a6481d974b6e4a3d5c16ca8248886dc9d} Obtains the design size of this font, as obtained from the P\-K file preamble. \begin{DoxyReturn}{Returns} the design size in points \end{DoxyReturn} \hypertarget{classPkFont_a4f830aadba0fe1febcef59b1a175cb09}{\index{Pk\-Font@{Pk\-Font}!dpi\-Base@{dpi\-Base}} \index{dpi\-Base@{dpi\-Base}!PkFont@{Pk\-Font}} \subsubsection[{dpi\-Base}]{\setlength{\rightskip}{0pt plus 5cm}static int Pk\-Font\-::dpi\-Base ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classPkFont_a4f830aadba0fe1febcef59b1a175cb09} Obtains the base font resolution, in dots-\/per-\/inch. This is the base resolution corresponding to the Metafont mode set by \hyperlink{classPkFont_a426c63bee456e0613c5966e5f455311d}{set\-Missing\-Font\-Mode}, and the two must be consistent if font-\/generation is to work. \begin{DoxyReturn}{Returns} the font resolution, in dots-\/per-\/inch \end{DoxyReturn} \begin{DoxySeeAlso}{See Also} \hyperlink{classPkFont_aec6f9e4a5feefeca99ccabc63925f341}{set\-Resolution} \end{DoxySeeAlso} Referenced by fontgen\-Command(), Karl\-Path\-Searcher\-::get\-Instance(), and main(). \hypertarget{classPkFont_a6569a1213bad3c7c4c4f9fcaea8e8038}{\index{Pk\-Font@{Pk\-Font}!dpi\-Scaled@{dpi\-Scaled}} \index{dpi\-Scaled@{dpi\-Scaled}!PkFont@{Pk\-Font}} \subsubsection[{dpi\-Scaled}]{\setlength{\rightskip}{0pt plus 5cm}int Pk\-Font\-::dpi\-Scaled ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a6569a1213bad3c7c4c4f9fcaea8e8038} Obtains the resolution of the current font, taking magnification into account. \begin{DoxyReturn}{Returns} the font's resolution, in dots-\/per-\/inch \end{DoxyReturn} References magnification(). Referenced by fontgen\-Command(), main(), and Pk\-Font(). \hypertarget{classPkFont_a6e8ebd2b7987b0f27d57fd288c338376}{\index{Pk\-Font@{Pk\-Font}!font\-Filename@{font\-Filename}} \index{font\-Filename@{font\-Filename}!PkFont@{Pk\-Font}} \subsubsection[{font\-Filename}]{\setlength{\rightskip}{0pt plus 5cm}string Pk\-Font\-::font\-Filename ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a6e8ebd2b7987b0f27d57fd288c338376} Locates the current font's bitmap file. \begin{DoxyReturn}{Returns} theh path to the P\-K file which defines this font \end{DoxyReturn} Referenced by main(). \hypertarget{classPkFont_a931111c14a36959dc4ae29fcc85979ea}{\index{Pk\-Font@{Pk\-Font}!fontgen\-Command@{fontgen\-Command}} \index{fontgen\-Command@{fontgen\-Command}!PkFont@{Pk\-Font}} \subsubsection[{fontgen\-Command}]{\setlength{\rightskip}{0pt plus 5cm}string Pk\-Font\-::fontgen\-Command ( \begin{DoxyParamCaption} \item[{void}]{} \end{DoxyParamCaption} ) const}}\label{classPkFont_a931111c14a36959dc4ae29fcc85979ea} Returns a command which can be used to generate fonts. The command should return a single line containing the path to the generated font file. Return an empty string on errors, or if such a command is not supported on a particular platform. Note that if a font-\/generation command template is defined but automatic font generation is disabled, this still returns a font-\/generation command. \begin{DoxyReturn}{Returns} a font generation command, suitable for passing to a shell \end{DoxyReturn} References dpi\-Base(), dpi\-Scaled(), magnification(), normal, Dvi\-Error\-::problem(), quiet, substitute\-\_\-font\-\_\-string(), and Util\-::verbosity\-\_\-. Referenced by main(), and Pk\-Font(). \hypertarget{classPkFont_a8a3a1f82a8419c9a1812e51798abc8a0}{\index{Pk\-Font@{Pk\-Font}!glyph@{glyph}} \index{glyph@{glyph}!PkFont@{Pk\-Font}} \subsubsection[{glyph}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Pk\-Glyph}$\ast$ Pk\-Font\-::glyph ( \begin{DoxyParamCaption} \item[{unsigned int}]{i} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a8a3a1f82a8419c9a1812e51798abc8a0} Returns the glyph at a given position in this font. If the font has not been loaded, it returns a dummy glyph. \begin{DoxyReturn}{Returns} the numbered glyph from the font \end{DoxyReturn} Referenced by main(). \hypertarget{classPkFont_a3a47134e232437b0197e813e4fb55683}{\index{Pk\-Font@{Pk\-Font}!hppp@{hppp}} \index{hppp@{hppp}!PkFont@{Pk\-Font}} \subsubsection[{hppp}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::hppp ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a3a47134e232437b0197e813e4fb55683} Obtains the number of horizontal pixels per point for this font, as obtained from the P\-K file preamble. \begin{DoxyReturn}{Returns} the hppp parameter in points \end{DoxyReturn} \hypertarget{classPkFont_a886be177c67f364808301b5a369ca6ac}{\index{Pk\-Font@{Pk\-Font}!loaded@{loaded}} \index{loaded@{loaded}!PkFont@{Pk\-Font}} \subsubsection[{loaded}]{\setlength{\rightskip}{0pt plus 5cm}bool Pk\-Font\-::loaded ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a886be177c67f364808301b5a369ca6ac} Check if the font has actually been loaded. This is false if the font was declared in the D\-V\-I file, but its bitmaps were not or cound not be loaded from disk for some reason. \begin{DoxyReturn}{Returns} true if the font was successfully read from disk \end{DoxyReturn} Referenced by main(). \hypertarget{classPkFont_af2616e19dd97c2ad6ea110d50e672b0b}{\index{Pk\-Font@{Pk\-Font}!magnification@{magnification}} \index{magnification@{magnification}!PkFont@{Pk\-Font}} \subsubsection[{magnification}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::magnification ( \begin{DoxyParamCaption} \item[{bool}]{include\-Dvi\-Mag = {\ttfamily true}} \end{DoxyParamCaption} ) const}}\label{classPkFont_af2616e19dd97c2ad6ea110d50e672b0b} Obtain the magnification of this font. This includes both font scaling and overall D\-V\-I file magnification\-: this number is {\itshape mag/1000 . s/d}, where {\itshape s} and {\itshape d} are taken from the font definition in the D\-V\-I file, and {\itshape mag} is the total magnification taking into account D\-V\-I preamble magnification and any command-\/line overriding. \begin{DoxyParams}{Parameters} {\em include\-Dvi\-Mag} & if true (the default), include the overall D\-V\-I file magnification {\ttfamily mag} (as set in the constructor); if false, do not\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} the font magnification \end{DoxyReturn} References normal, and Util\-::verbosity\-\_\-. Referenced by dpi\-Scaled(), fontgen\-Command(), main(), and Pk\-Font(). \hypertarget{classPkFont_adb13e67f5af6511085bfe14722e57cbc}{\index{Pk\-Font@{Pk\-Font}!name@{name}} \index{name@{name}!PkFont@{Pk\-Font}} \subsubsection[{name}]{\setlength{\rightskip}{0pt plus 5cm}string Pk\-Font\-::name ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_adb13e67f5af6511085bfe14722e57cbc} Identifies the current font. \begin{DoxyReturn}{Returns} the font's name \end{DoxyReturn} Referenced by Dvi\-File\-Font\-Change\-::debug(), and main(). \hypertarget{classPkFont_a8107fec02197cf3773fc4c7513bb540b}{\index{Pk\-Font@{Pk\-Font}!quad@{quad}} \index{quad@{quad}!PkFont@{Pk\-Font}} \subsubsection[{quad}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::quad ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a8107fec02197cf3773fc4c7513bb540b} Obtains the size of the {\ttfamily quad} parameter for this font. This does {\itshape not} include any overall D\-V\-I magnification. \begin{DoxyReturn}{Returns} {\ttfamily quad} in D\-V\-I units \end{DoxyReturn} \hypertarget{classPkFont_a7cdcaa9b0a3117f5a7f0bbc654b592b2}{\index{Pk\-Font@{Pk\-Font}!scale@{scale}} \index{scale@{scale}!PkFont@{Pk\-Font}} \subsubsection[{scale}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::scale ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a7cdcaa9b0a3117f5a7f0bbc654b592b2} Obtains the font's scale. This is the factor {\itshape s/d}, where {\itshape s} and {\itshape d} are the font scale and font design size as specified when the font was declared in the D\-V\-I file. Together, they specify that the font is to be used at {\itshape magnification/1000 . s/d} times its design size. This is distinct from the return value of \hyperlink{classPkFont_af2616e19dd97c2ad6ea110d50e672b0b}{magnification}, which takes D\-V\-I file magnification into account, and which is therefore more useful in general. \begin{DoxyReturn}{Returns} the font scale, s/d \end{DoxyReturn} \hypertarget{classPkFont_a657c9fc075fe1666da6169b74d8eb3db}{\index{Pk\-Font@{Pk\-Font}!seen\-In\-Doc@{seen\-In\-Doc}} \index{seen\-In\-Doc@{seen\-In\-Doc}!PkFont@{Pk\-Font}} \subsubsection[{seen\-In\-Doc}]{\setlength{\rightskip}{0pt plus 5cm}bool Pk\-Font\-::seen\-In\-Doc ( \begin{DoxyParamCaption} \item[{void}]{} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_a657c9fc075fe1666da6169b74d8eb3db} Has the current font been declared in the document so far, or just in the D\-V\-I file postamble. \begin{DoxyReturn}{Returns} true if we have seen a fnt\-\_\-def declaration for this font, in the D\-V\-I file body \end{DoxyReturn} \hypertarget{classPkFont_a52c47f1d55daaeb3ce5e1a3d2e008312}{\index{Pk\-Font@{Pk\-Font}!set\-Fontgen@{set\-Fontgen}} \index{set\-Fontgen@{set\-Fontgen}!PkFont@{Pk\-Font}} \subsubsection[{set\-Fontgen}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Fontgen ( \begin{DoxyParamCaption} \item[{bool}]{doit} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a52c47f1d55daaeb3ce5e1a3d2e008312} Enables or disables font generation. Font generation will only be enabled if there is a font-\/generation template command, either set through method {\ttfamily set\-Fontgen\-Command}, or as a compiled-\/in default. If there is no such command, this method will have no effect. \begin{DoxyParams}{Parameters} {\em doit} & if true, font generation is enabled \\ \hline \end{DoxyParams} Referenced by main(). \hypertarget{classPkFont_a9c98ce68a3e3efc740eb76fbd428ed8c}{\index{Pk\-Font@{Pk\-Font}!set\-Fontgen\-Command@{set\-Fontgen\-Command}} \index{set\-Fontgen\-Command@{set\-Fontgen\-Command}!PkFont@{Pk\-Font}} \subsubsection[{set\-Fontgen\-Command}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Fontgen\-Command ( \begin{DoxyParamCaption} \item[{string}]{cmd} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a9c98ce68a3e3efc740eb76fbd428ed8c} Set the shell command which is used when generating fonts. The specified string should be a template string with the formatting characters managed by \hyperlink{classPkFont_a1e84f5a25a00754e32c00da7e9e92d7c}{substitute\-\_\-font\-\_\-string}, and these will be substituted with the required values before the command is run. This also enables font-\/generation, so that it has the effect of {\ttfamily set\-Fontgen(true)}. \begin{DoxyParams}{Parameters} {\em cmd} & a font-\/generation template \\ \hline \end{DoxyParams} Referenced by main(). \hypertarget{classPkFont_a1c7909a9befe05d4bc77664717326ac5}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Command@{set\-Font\-Search\-Command}} \index{set\-Font\-Search\-Command@{set\-Font\-Search\-Command}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Command}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Command ( \begin{DoxyParamCaption} \item[{string}]{cmd} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a1c7909a9befe05d4bc77664717326ac5} Set the shell command which is used when searching for fonts. The specified string should be a template string with the formatting characters managed by \hyperlink{classPkFont_a1e84f5a25a00754e32c00da7e9e92d7c}{substitute\-\_\-font\-\_\-string}, and these will be substituted with the required values before the command is run. \begin{DoxyParams}{Parameters} {\em cmd} & the shell command template \\ \hline \end{DoxyParams} Referenced by main(), and set\-Font\-Search\-Command(). \hypertarget{classPkFont_a7dab1fa9c280a3c83fb2f3e43ee42ec5}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Command@{set\-Font\-Search\-Command}} \index{set\-Font\-Search\-Command@{set\-Font\-Search\-Command}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Command}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Command ( \begin{DoxyParamCaption} \item[{char $\ast$}]{cmd} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a7dab1fa9c280a3c83fb2f3e43ee42ec5} Sets the shell command which is used when searching for fonts. The specified string should be a template string with the formatting characters managed by \hyperlink{classPkFont_a1e84f5a25a00754e32c00da7e9e92d7c}{substitute\-\_\-font\-\_\-string}, and these will be substituted with the required values before the command is run. \begin{DoxyParams}{Parameters} {\em cmd} & the shell command template \\ \hline \end{DoxyParams} References s, and set\-Font\-Search\-Command(). \hypertarget{classPkFont_a93e492cd968af226a6ffab4e751fc424}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Command@{set\-Font\-Search\-Command}} \index{set\-Font\-Search\-Command@{set\-Font\-Search\-Command}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Command}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Command ( \begin{DoxyParamCaption} \item[{bool}]{use\-Command} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a93e492cd968af226a6ffab4e751fc424} Enable or disable using a font-\/search command when searching for fonts. \begin{DoxyParams}{Parameters} {\em use\-Command} & if true, use the command \\ \hline \end{DoxyParams} \begin{DoxySeeAlso}{See Also} \hyperlink{classPkFont_a1c7909a9befe05d4bc77664717326ac5}{set\-Font\-Search\-Command(string)} \end{DoxySeeAlso} \hypertarget{classPkFont_a3a4341f7b767b1ee1cb7bd4ab86a69bf}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Kpse@{set\-Font\-Search\-Kpse}} \index{set\-Font\-Search\-Kpse@{set\-Font\-Search\-Kpse}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Kpse}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Kpse ( \begin{DoxyParamCaption} \item[{bool}]{use\-Kpse} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a3a4341f7b767b1ee1cb7bd4ab86a69bf} Enable or disable using the {\ttfamily kpathsea} library when searching for fonts. \begin{DoxyParams}{Parameters} {\em use\-Kpse} & if true, use the library \\ \hline \end{DoxyParams} Referenced by main(). \hypertarget{classPkFont_a755835ee319f5bdbaafa1d7bb0f2e8ab}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Path@{set\-Font\-Search\-Path}} \index{set\-Font\-Search\-Path@{set\-Font\-Search\-Path}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Path}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Path ( \begin{DoxyParamCaption} \item[{string}]{fp} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a755835ee319f5bdbaafa1d7bb0f2e8ab} Set the list of directories in which to look for fonts. \begin{DoxyParams}{Parameters} {\em fp} & the colon-\/separated font path \\ \hline \end{DoxyParams} Referenced by main(), and set\-Font\-Search\-Path(). \hypertarget{classPkFont_a63da20c0b5e50866efc0abb7c222a195}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Path@{set\-Font\-Search\-Path}} \index{set\-Font\-Search\-Path@{set\-Font\-Search\-Path}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Path}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Path ( \begin{DoxyParamCaption} \item[{char $\ast$}]{fp} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a63da20c0b5e50866efc0abb7c222a195} Set the list of directories in which to look for fonts. \begin{DoxyParams}{Parameters} {\em fp} & the colon-\/separated font path \\ \hline \end{DoxyParams} References s, and set\-Font\-Search\-Path(). \hypertarget{classPkFont_afa6b8ffa96e53dd892e0926bd049134f}{\index{Pk\-Font@{Pk\-Font}!set\-Font\-Search\-Path@{set\-Font\-Search\-Path}} \index{set\-Font\-Search\-Path@{set\-Font\-Search\-Path}!PkFont@{Pk\-Font}} \subsubsection[{set\-Font\-Search\-Path}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Font\-Search\-Path ( \begin{DoxyParamCaption} \item[{bool}]{use\-Path} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_afa6b8ffa96e53dd892e0926bd049134f} Enable or disable using the font-\/path when searching for fonts. \begin{DoxyParams}{Parameters} {\em use\-Path} & if true, use the font path \\ \hline \end{DoxyParams} \begin{DoxySeeAlso}{See Also} \hyperlink{classPkFont_a755835ee319f5bdbaafa1d7bb0f2e8ab}{set\-Font\-Search\-Path(string)} \end{DoxySeeAlso} \hypertarget{classPkFont_a426c63bee456e0613c5966e5f455311d}{\index{Pk\-Font@{Pk\-Font}!set\-Missing\-Font\-Mode@{set\-Missing\-Font\-Mode}} \index{set\-Missing\-Font\-Mode@{set\-Missing\-Font\-Mode}!PkFont@{Pk\-Font}} \subsubsection[{set\-Missing\-Font\-Mode}]{\setlength{\rightskip}{0pt plus 5cm}static void Pk\-Font\-::set\-Missing\-Font\-Mode ( \begin{DoxyParamCaption} \item[{string}]{mode} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classPkFont_a426c63bee456e0613c5966e5f455311d} Sets the Metafont mode to be used when generating fonts. This must be consistent with any base font resolution set in \hyperlink{classPkFont_aec6f9e4a5feefeca99ccabc63925f341}{set\-Resolution}. \begin{DoxyParams}{Parameters} {\em mode} & a Metafont mode \\ \hline \end{DoxyParams} Referenced by main(). \hypertarget{classPkFont_aec6f9e4a5feefeca99ccabc63925f341}{\index{Pk\-Font@{Pk\-Font}!set\-Resolution@{set\-Resolution}} \index{set\-Resolution@{set\-Resolution}!PkFont@{Pk\-Font}} \subsubsection[{set\-Resolution}]{\setlength{\rightskip}{0pt plus 5cm}static void Pk\-Font\-::set\-Resolution ( \begin{DoxyParamCaption} \item[{int}]{res} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classPkFont_aec6f9e4a5feefeca99ccabc63925f341} Sets the base font resolution. This must be consistent with the the Metafont mode set by \hyperlink{classPkFont_a426c63bee456e0613c5966e5f455311d}{set\-Missing\-Font\-Mode}, if font-\/generation is to work. \begin{DoxyParams}{Parameters} {\em res} & the new font resolution \\ \hline \end{DoxyParams} \begin{DoxySeeAlso}{See Also} \hyperlink{classPkFont_a4f830aadba0fe1febcef59b1a175cb09}{dpi\-Base} \end{DoxySeeAlso} Referenced by Dvi\-File\-::\-Dvi\-File(), and main(). \hypertarget{classPkFont_adb5ee050bea495757fadfe75519c44f4}{\index{Pk\-Font@{Pk\-Font}!set\-Seen\-In\-Doc@{set\-Seen\-In\-Doc}} \index{set\-Seen\-In\-Doc@{set\-Seen\-In\-Doc}!PkFont@{Pk\-Font}} \subsubsection[{set\-Seen\-In\-Doc}]{\setlength{\rightskip}{0pt plus 5cm}void Pk\-Font\-::set\-Seen\-In\-Doc ( \begin{DoxyParamCaption} \item[{void}]{} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_adb5ee050bea495757fadfe75519c44f4} \hypertarget{classPkFont_a1e84f5a25a00754e32c00da7e9e92d7c}{\index{Pk\-Font@{Pk\-Font}!substitute\-\_\-font\-\_\-string@{substitute\-\_\-font\-\_\-string}} \index{substitute\-\_\-font\-\_\-string@{substitute\-\_\-font\-\_\-string}!PkFont@{Pk\-Font}} \subsubsection[{substitute\-\_\-font\-\_\-string}]{\setlength{\rightskip}{0pt plus 5cm}string \& Pk\-Font\-::substitute\-\_\-font\-\_\-string ( \begin{DoxyParamCaption} \item[{const string}]{fmt, } \item[{const string}]{mode, } \item[{const string}]{fontname, } \item[{const int}]{dpi, } \item[{const int}]{basedpi, } \item[{const double}]{magnification} \end{DoxyParamCaption} ) throw {\bf Pk\-Error}) \hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a1e84f5a25a00754e32c00da7e9e92d7c} Given a format string, return a reference to a string with format specifiers replaced by font information. The format specifiers are\-: \begin{TabularC}{3} \hline M&mode&ibmvga \\\cline{1-3} f&font name&cmr10 \\\cline{1-3} d&dpi&330 \\\cline{1-3} b&base dpi&110 \\\cline{1-3} m&magnification&3 \\\cline{1-3} \%\%&literal \%-\/character \\\cline{1-3} \end{TabularC} Any other format specifiers constitute an error. There is no support for any backslash escapes. \begin{DoxyParams}{Parameters} {\em fmt} & the format string, with the format specifiers described above \\ \hline {\em mode} & a Metafont mode string, such as {\ttfamily ibmvga} \\ \hline {\em fontname} & the name of a font, such as {\ttfamily cmr10} \\ \hline {\em dpi} & the requested size of a font in dots-\/per-\/inch \\ \hline {\em basedpi} & the design size of a font \\ \hline {\em magnification} & of the font\\ \hline \end{DoxyParams} \begin{DoxyReturn}{Returns} a reference to the formatted string; this is a static string, which is overwritten on each call \end{DoxyReturn} \begin{DoxyExceptions}{Exceptions} {\em \hyperlink{classPkError}{Pk\-Error}} & if it encounters an illegal format element. \\ \hline \end{DoxyExceptions} References normal, S\-S\-\_\-\-C\-\_\-\-S\-T\-R, S\-S\-\_\-\-S\-T\-R\-I\-N\-G, S\-S\-T\-R\-E\-A\-M, and Util\-::verbosity\-\_\-. Referenced by fontgen\-Command(). \hypertarget{classPkFont_a1644f9ff9ae14ba0cd1d732c79213388}{\index{Pk\-Font@{Pk\-Font}!verbosity@{verbosity}} \index{verbosity@{verbosity}!PkFont@{Pk\-Font}} \subsubsection[{verbosity}]{\setlength{\rightskip}{0pt plus 5cm}{\bf verbosities} Pk\-Font\-::verbosity ( \begin{DoxyParamCaption} \item[{const {\bf verbosities}}]{level} \end{DoxyParamCaption} )\hspace{0.3cm}{\ttfamily [static]}}}\label{classPkFont_a1644f9ff9ae14ba0cd1d732c79213388} References Karl\-Path\-Searcher\-::verbosity(). Referenced by main(). \hypertarget{classPkFont_add26935ee0082cd11a1292497b1209e7}{\index{Pk\-Font@{Pk\-Font}!vppp@{vppp}} \index{vppp@{vppp}!PkFont@{Pk\-Font}} \subsubsection[{vppp}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::vppp ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_add26935ee0082cd11a1292497b1209e7} Obtains the number of vertical pixels per point for this font, as obtained from the P\-K file preamble. \begin{DoxyReturn}{Returns} the vppp parameter in points \end{DoxyReturn} \hypertarget{classPkFont_af24490434a6463e1c56f0bb161ba242a}{\index{Pk\-Font@{Pk\-Font}!word\-Space@{word\-Space}} \index{word\-Space@{word\-Space}!PkFont@{Pk\-Font}} \subsubsection[{word\-Space}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::word\-Space ( \begin{DoxyParamCaption} {} \end{DoxyParamCaption} ) const\hspace{0.3cm}{\ttfamily [inline]}}}\label{classPkFont_af24490434a6463e1c56f0bb161ba242a} Obtains the size of the {\ttfamily word\-\_\-space} parameter for this font. This does {\itshape not} include any overall D\-V\-I magnification. \begin{DoxyReturn}{Returns} {\ttfamily word\-\_\-space} in D\-V\-I units \end{DoxyReturn} \subsection{Member Data Documentation} \hypertarget{classPkFont_a2372629183b6f0c21de042bba9cf90d6}{\index{Pk\-Font@{Pk\-Font}!c@{c}} \index{c@{c}!PkFont@{Pk\-Font}} \subsubsection[{c}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int Pk\-Font\-::c}}\label{classPkFont_a2372629183b6f0c21de042bba9cf90d6} Referenced by Pk\-Font(). \hypertarget{classPkFont_a88d6fde48db6498a92a750911db802fc}{\index{Pk\-Font@{Pk\-Font}!comment@{comment}} \index{comment@{comment}!PkFont@{Pk\-Font}} \subsubsection[{comment}]{\setlength{\rightskip}{0pt plus 5cm}string Pk\-Font\-::comment}}\label{classPkFont_a88d6fde48db6498a92a750911db802fc} \hypertarget{classPkFont_afb4a33ffc920136030606ab969182f94}{\index{Pk\-Font@{Pk\-Font}!cs@{cs}} \index{cs@{cs}!PkFont@{Pk\-Font}} \subsubsection[{cs}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int Pk\-Font\-::cs}}\label{classPkFont_afb4a33ffc920136030606ab969182f94} \hypertarget{classPkFont_a139399f1201c9206306d1e6801641ef5}{\index{Pk\-Font@{Pk\-Font}!d@{d}} \index{d@{d}!PkFont@{Pk\-Font}} \subsubsection[{d}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int Pk\-Font\-::d}}\label{classPkFont_a139399f1201c9206306d1e6801641ef5} Referenced by Pk\-Font(). \hypertarget{classPkFont_a9fc5814950db842885baadc17c8dc343}{\index{Pk\-Font@{Pk\-Font}!design\-Size@{design\-Size}} \index{design\-Size@{design\-Size}!PkFont@{Pk\-Font}} \subsubsection[{design\-Size}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::design\-Size}}\label{classPkFont_a9fc5814950db842885baadc17c8dc343} Referenced by Dvi\-File\-::get\-Fallback\-Font(), main(), and Pk\-Glyph\-::\-Pk\-Glyph(). \hypertarget{classPkFont_aca8be92857c50cb39a6b1e49f35a9cf4}{\index{Pk\-Font@{Pk\-Font}!hppp@{hppp}} \index{hppp@{hppp}!PkFont@{Pk\-Font}} \subsubsection[{hppp}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::hppp}}\label{classPkFont_aca8be92857c50cb39a6b1e49f35a9cf4} \hypertarget{classPkFont_af06956e1d474ee6795d9a21729b8c5af}{\index{Pk\-Font@{Pk\-Font}!id@{id}} \index{id@{id}!PkFont@{Pk\-Font}} \subsubsection[{id}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int Pk\-Font\-::id}}\label{classPkFont_af06956e1d474ee6795d9a21729b8c5af} \hypertarget{classPkFont_ae9b74d1eabe2550e847e773b56503f84}{\index{Pk\-Font@{Pk\-Font}!s@{s}} \index{s@{s}!PkFont@{Pk\-Font}} \subsubsection[{s}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int Pk\-Font\-::s}}\label{classPkFont_ae9b74d1eabe2550e847e773b56503f84} Referenced by Pk\-Font(), set\-Font\-Search\-Command(), and set\-Font\-Search\-Path(). \hypertarget{classPkFont_a5a257bfdafa1e635c8afd1a4224d42b8}{\index{Pk\-Font@{Pk\-Font}!vppp@{vppp}} \index{vppp@{vppp}!PkFont@{Pk\-Font}} \subsubsection[{vppp}]{\setlength{\rightskip}{0pt plus 5cm}double Pk\-Font\-::vppp}}\label{classPkFont_a5a257bfdafa1e635c8afd1a4224d42b8} The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize} \item \hyperlink{PkFont_8h}{Pk\-Font.\-h}\item \hyperlink{PkFont_8cc}{Pk\-Font.\-cc}\end{DoxyCompactItemize}