\hypertarget{classKarlPathSearcher}{\section{Karl\-Path\-Searcher Class Reference}
\label{classKarlPathSearcher}\index{Karl\-Path\-Searcher@{Karl\-Path\-Searcher}}
}


Abstracts access to the {\ttfamily kpathsea} library.  




{\ttfamily \#include $<$Karl\-Path\-Searcher.\-h$>$}

\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{classKarlPathSearcher_ace52d2a52a8be2c558cb5803147b4371}{find} (const char $\ast$font, int \hyperlink{dvi2bitmap_8cc_a42e8863b58f9ee9bd3e23ed02cc63430}{resolution})
\begin{DoxyCompactList}\small\item\em Finds a font at a given resolution. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Static Public Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classKarlPathSearcher}{Karl\-Path\-Searcher} $\ast$ \hyperlink{classKarlPathSearcher_a239394519ea3c87e48bfb3ace88cf8eb}{get\-Instance} (const char $\ast$name=0, const int basedpi=0)
\begin{DoxyCompactList}\small\item\em Returns an instance of the object which searches the Te\-X tree, using Karl's path-\/searching algorithm (K\-P\-S\-E). \end{DoxyCompactList}\item 
static \hyperlink{verbosity_8h_a886df075e73fd6d54e018791f87fa071}{verbosities} \hyperlink{classKarlPathSearcher_ab1ea7a8700de5660f00f26550cd85441}{verbosity} (const \hyperlink{verbosity_8h_a886df075e73fd6d54e018791f87fa071}{verbosities} level)
\begin{DoxyCompactList}\small\item\em Sets the verbosity level. \end{DoxyCompactList}\item 
static const char $\ast$ \hyperlink{classKarlPathSearcher_a819d77386583ae3a85f622667abf4322}{version\-\_\-string} (void)
\begin{DoxyCompactList}\small\item\em Obtains the Kpathsea version. \end{DoxyCompactList}\item 
static void \hyperlink{classKarlPathSearcher_a47c5d967e21e31ab3161a34eb008b183}{set\-Program\-Name} (const char $\ast$name)
\begin{DoxyCompactList}\small\item\em Sets the name of the invoking program. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Abstracts access to the {\ttfamily kpathsea} library. 

This class provides at singleton object which can service requests to the library. 

\subsection{Member Function Documentation}
\hypertarget{classKarlPathSearcher_ace52d2a52a8be2c558cb5803147b4371}{\index{Karl\-Path\-Searcher@{Karl\-Path\-Searcher}!find@{find}}
\index{find@{find}!KarlPathSearcher@{Karl\-Path\-Searcher}}
\subsubsection[{find}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Karl\-Path\-Searcher\-::find (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{fontname, }
\item[{int}]{resolution}
\end{DoxyParamCaption}
)}}\label{classKarlPathSearcher_ace52d2a52a8be2c558cb5803147b4371}


Finds a font at a given resolution. 


\begin{DoxyParams}{Parameters}
{\em fontname} & the name of the font to search for \\
\hline
{\em resolution} & the desired font resolution \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the full path to the P\-K file which defines the font, or zero if the font cannot be found 
\end{DoxyReturn}


References normal.

\hypertarget{classKarlPathSearcher_a239394519ea3c87e48bfb3ace88cf8eb}{\index{Karl\-Path\-Searcher@{Karl\-Path\-Searcher}!get\-Instance@{get\-Instance}}
\index{get\-Instance@{get\-Instance}!KarlPathSearcher@{Karl\-Path\-Searcher}}
\subsubsection[{get\-Instance}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Karl\-Path\-Searcher} $\ast$ Karl\-Path\-Searcher\-::get\-Instance (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{program\-\_\-name = {\ttfamily 0}, }
\item[{const int}]{basedpi = {\ttfamily 0}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKarlPathSearcher_a239394519ea3c87e48bfb3ace88cf8eb}


Returns an instance of the object which searches the Te\-X tree, using Karl's path-\/searching algorithm (K\-P\-S\-E). 

Note that, although it looks as if you should be able to call this more than once with different parameters, you can't in fact, and if you call it more than once (that's fine and sensible) you get the same instance back each time. In fact, there's no good reason I can think of why you'd {\itshape want} to initialise this in different ways, so this isn't a problem in fact. The door remains open to this changing in future, though. About the only reason for giving non-\/default parameters here is to register a different {\ttfamily program\-\_\-name} for the kpathsea library to use when reporting errors or warnings.


\begin{DoxyParams}{Parameters}
{\em program\-\_\-name} & the name to be used in kpathsea feedback; if zero, this default to the value set by \hyperlink{classKarlPathSearcher_a47c5d967e21e31ab3161a34eb008b183}{set\-Program\-Name}, and if that has not been set, to {\ttfamily \char`\"{}tex\char`\"{}} \\
\hline
{\em basedpi} & the base resolution of the P\-K fonts; if zero, it is taken to be \hyperlink{classPkFont_a4f830aadba0fe1febcef59b1a175cb09}{Pk\-Font.\-dpi\-Base} (a sensible default) \\
\hline
\end{DoxyParams}


References Pk\-Font\-::dpi\-Base().

\hypertarget{classKarlPathSearcher_a47c5d967e21e31ab3161a34eb008b183}{\index{Karl\-Path\-Searcher@{Karl\-Path\-Searcher}!set\-Program\-Name@{set\-Program\-Name}}
\index{set\-Program\-Name@{set\-Program\-Name}!KarlPathSearcher@{Karl\-Path\-Searcher}}
\subsubsection[{set\-Program\-Name}]{\setlength{\rightskip}{0pt plus 5cm}static void Karl\-Path\-Searcher\-::set\-Program\-Name (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}}\label{classKarlPathSearcher_a47c5d967e21e31ab3161a34eb008b183}


Sets the name of the invoking program. 

This acts as the default for the initialising {\ttfamily name} parameter to method \hyperlink{classKarlPathSearcher_a239394519ea3c87e48bfb3ace88cf8eb}{get\-Instance} 
\begin{DoxyParams}{Parameters}
{\em name} & the name of the invoking program \\
\hline
\end{DoxyParams}


Referenced by main().

\hypertarget{classKarlPathSearcher_ab1ea7a8700de5660f00f26550cd85441}{\index{Karl\-Path\-Searcher@{Karl\-Path\-Searcher}!verbosity@{verbosity}}
\index{verbosity@{verbosity}!KarlPathSearcher@{Karl\-Path\-Searcher}}
\subsubsection[{verbosity}]{\setlength{\rightskip}{0pt plus 5cm}{\bf verbosities} Karl\-Path\-Searcher\-::verbosity (
\begin{DoxyParamCaption}
\item[{const {\bf verbosities}}]{level}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKarlPathSearcher_ab1ea7a8700de5660f00f26550cd85441}


Sets the verbosity level. 

As well as setting the intrinsic level of chatter for this class, it controls the amount of chatter from the {\ttfamily libkpathsea} library itself\-: if the {\ttfamily level} is above {\ttfamily debug}, then {\itshape all} kpathsea debugging information is switched on. 
\begin{DoxyParams}{Parameters}
{\em level} & the desired verbosity level \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
the previous verbosity level 
\end{DoxyReturn}


References debug.



Referenced by Pk\-Font\-::verbosity().

\hypertarget{classKarlPathSearcher_a819d77386583ae3a85f622667abf4322}{\index{Karl\-Path\-Searcher@{Karl\-Path\-Searcher}!version\-\_\-string@{version\-\_\-string}}
\index{version\-\_\-string@{version\-\_\-string}!KarlPathSearcher@{Karl\-Path\-Searcher}}
\subsubsection[{version\-\_\-string}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ Karl\-Path\-Searcher\-::version\-\_\-string (
\begin{DoxyParamCaption}
\item[{void}]{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}}}\label{classKarlPathSearcher_a819d77386583ae3a85f622667abf4322}


Obtains the Kpathsea version. 

\begin{DoxyReturn}{Returns}
the kpathsea version string 
\end{DoxyReturn}


Referenced by main().



The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{KarlPathSearcher_8h}{Karl\-Path\-Searcher.\-h}\item 
\hyperlink{KarlPathSearcher_8cc}{Karl\-Path\-Searcher.\-cc}\end{DoxyCompactItemize}
