\hypertarget{classMike42_1_1Escpos_1_1CodePage}{}\section{Mike42\textbackslash{}Escpos\textbackslash{}Code\+Page Class Reference}
\label{classMike42_1_1Escpos_1_1CodePage}\index{Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page@{Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page}}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a22019b9ceabd3954d32d9facf1c4454e}{\+\_\+\+\_\+construct} (\$id, array \$code\+Page\+Data)
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a72c06de5530753482e9bb58e615e6354}{get\+Data} ()
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_ac8b910768edd4092d0c8d49010c4e992}{get\+Iconv} ()
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a1249f90a970ab48298417776a5790175}{get\+Id} ()
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a0825a5047725f2a4499d5846e1448fd8}{get\+Name} ()
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a9e8c6e73e77b254e50cd6671e9f26d0a}{get\+Notes} ()
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a853117ca6235926b64a83f9c76773c9d}{is\+Encodable} ()
\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
const \hyperlink{classMike42_1_1Escpos_1_1CodePage_a6433d530824de3a913b447771cd18c63}{I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G} = \char`\"{}U\+T\+F-\/8\char`\"{}
\end{DoxyCompactItemize}
\subsection*{Static Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
static \hyperlink{classMike42_1_1Escpos_1_1CodePage_aa616dede05e85eca210738f87053dc37}{generate\+Encoding\+Map} (\$iconv\+Name)
\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_af4c4234fc9662c8e3436171f2229afa2}{\$data}
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_ac87638f81eb371b040e28c2defbb0362}{\$iconv}
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a49e1134724b2b3e6cc9ba0cedfff97fc}{\$id}
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a902f8e8ad0590e50aa2bc47ed45c7791}{\$name}
\item 
\hyperlink{classMike42_1_1Escpos_1_1CodePage_a423684467a57187ec5625f50d5acecae}{\$notes}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Class to handle data about a particular \hyperlink{classMike42_1_1Escpos_1_1CodePage}{Code\+Page}, as loaded from the receipt print database.

Also computes map between U\+T\+F-\/8 and this encoding if necessary, using the iconv library. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_a22019b9ceabd3954d32d9facf1c4454e}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!\+\_\+\+\_\+construct@{\+\_\+\+\_\+construct}}
\index{\+\_\+\+\_\+construct@{\+\_\+\+\_\+construct}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{\+\_\+\+\_\+construct}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\+\_\+\+\_\+construct (
\begin{DoxyParamCaption}
\item[{}]{\$id, }
\item[{array}]{\$code\+Page\+Data}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_a22019b9ceabd3954d32d9facf1c4454e}

\begin{DoxyParams}[1]{Parameters}
string & {\em \$id} & Unique internal identifier for the \hyperlink{classMike42_1_1Escpos_1_1CodePage}{Code\+Page}. \\
\hline
array & {\em \$code\+Page\+Data} & Associative array of \hyperlink{classMike42_1_1Escpos_1_1CodePage}{Code\+Page} data, as specified by the upstream receipt-\/print-\/hq/escpos-\/printer-\/db database. May contain 'name', 'data', 'iconv', and 'notes' fields. \\
\hline
\end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_aa616dede05e85eca210738f87053dc37}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!generate\+Encoding\+Map@{generate\+Encoding\+Map}}
\index{generate\+Encoding\+Map@{generate\+Encoding\+Map}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{generate\+Encoding\+Map}]{\setlength{\rightskip}{0pt plus 5cm}static Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::generate\+Encoding\+Map (
\begin{DoxyParamCaption}
\item[{}]{\$iconv\+Name}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [static]}, {\ttfamily [protected]}}\label{classMike42_1_1Escpos_1_1CodePage_aa616dede05e85eca210738f87053dc37}
Given an iconv encoding name, generate a 128-\/character U\+T\+F-\/8 string, containing code points 128-\/255.

This string is used to map U\+T\+F-\/8 characters to their location in this code page.


\begin{DoxyParams}[1]{Parameters}
string & {\em \$iconv\+Name} & Name of the encoding \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
string 128-\/character string in U\+T\+F-\/8. 
\end{DoxyReturn}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_a72c06de5530753482e9bb58e615e6354}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!get\+Data@{get\+Data}}
\index{get\+Data@{get\+Data}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{get\+Data}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::get\+Data (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_a72c06de5530753482e9bb58e615e6354}
Get a 128-\/character data string representing this encoding. It will be calculated and cached if it was not previously known.


\begin{DoxyExceptions}{Exceptions}
{\em Invalid\+Argument\+Exception} & Where the data is now known or computable. \\
\hline
\end{DoxyExceptions}
\begin{DoxyReturn}{Returns}
string Data for this encoding. 
\end{DoxyReturn}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_ac8b910768edd4092d0c8d49010c4e992}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!get\+Iconv@{get\+Iconv}}
\index{get\+Iconv@{get\+Iconv}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{get\+Iconv}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::get\+Iconv (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_ac8b910768edd4092d0c8d49010c4e992}
\begin{DoxyReturn}{Returns}
string Iconv encoding name, or blank if not set. 
\end{DoxyReturn}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_a1249f90a970ab48298417776a5790175}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!get\+Id@{get\+Id}}
\index{get\+Id@{get\+Id}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{get\+Id}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::get\+Id (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_a1249f90a970ab48298417776a5790175}
\begin{DoxyReturn}{Returns}
string Unique identifier of the code page. 
\end{DoxyReturn}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_a0825a5047725f2a4499d5846e1448fd8}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!get\+Name@{get\+Name}}
\index{get\+Name@{get\+Name}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{get\+Name}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::get\+Name (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_a0825a5047725f2a4499d5846e1448fd8}
Name of the code page. \hypertarget{classMike42_1_1Escpos_1_1CodePage_a9e8c6e73e77b254e50cd6671e9f26d0a}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!get\+Notes@{get\+Notes}}
\index{get\+Notes@{get\+Notes}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{get\+Notes}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::get\+Notes (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_a9e8c6e73e77b254e50cd6671e9f26d0a}
The notes may explain quirks about a code-\/page, such as a source if it's non-\/standard or un-\/encodeable.

\begin{DoxyReturn}{Returns}
string Notes on the code page, or null if not set. 
\end{DoxyReturn}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_a853117ca6235926b64a83f9c76773c9d}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!is\+Encodable@{is\+Encodable}}
\index{is\+Encodable@{is\+Encodable}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{is\+Encodable}]{\setlength{\rightskip}{0pt plus 5cm}Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::is\+Encodable (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}\label{classMike42_1_1Escpos_1_1CodePage_a853117ca6235926b64a83f9c76773c9d}
\begin{DoxyReturn}{Returns}
boolean True if we can encode with this code page (ie, we know what data it holds).
\end{DoxyReturn}
Many printers contain vendor-\/specific code pages, which are named but have not been identified or typed out. For our purposes, this is an \char`\"{}un-\/encodeable\char`\"{} code page. 

\subsection{Member Data Documentation}
\hypertarget{classMike42_1_1Escpos_1_1CodePage_af4c4234fc9662c8e3436171f2229afa2}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!\$data@{\$data}}
\index{\$data@{\$data}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{\$data}]{\setlength{\rightskip}{0pt plus 5cm}string Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\$data\hspace{0.3cm}{\ttfamily [protected]}}\label{classMike42_1_1Escpos_1_1CodePage_af4c4234fc9662c8e3436171f2229afa2}
Data string, null if not known (can be computed with iconv) \hypertarget{classMike42_1_1Escpos_1_1CodePage_ac87638f81eb371b040e28c2defbb0362}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!\$iconv@{\$iconv}}
\index{\$iconv@{\$iconv}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{\$iconv}]{\setlength{\rightskip}{0pt plus 5cm}string Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\$iconv\hspace{0.3cm}{\ttfamily [protected]}}\label{classMike42_1_1Escpos_1_1CodePage_ac87638f81eb371b040e28c2defbb0362}
Iconv encoding name, null if not known \hypertarget{classMike42_1_1Escpos_1_1CodePage_a49e1134724b2b3e6cc9ba0cedfff97fc}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!\$id@{\$id}}
\index{\$id@{\$id}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{\$id}]{\setlength{\rightskip}{0pt plus 5cm}string Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\$id\hspace{0.3cm}{\ttfamily [protected]}}\label{classMike42_1_1Escpos_1_1CodePage_a49e1134724b2b3e6cc9ba0cedfff97fc}
Internal I\+D of the \hyperlink{classMike42_1_1Escpos_1_1CodePage}{Code\+Page} \hypertarget{classMike42_1_1Escpos_1_1CodePage_a902f8e8ad0590e50aa2bc47ed45c7791}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!\$name@{\$name}}
\index{\$name@{\$name}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{\$name}]{\setlength{\rightskip}{0pt plus 5cm}string Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\$name\hspace{0.3cm}{\ttfamily [protected]}}\label{classMike42_1_1Escpos_1_1CodePage_a902f8e8ad0590e50aa2bc47ed45c7791}
Name of the code page. Substituted with the I\+D if not set. \hypertarget{classMike42_1_1Escpos_1_1CodePage_a423684467a57187ec5625f50d5acecae}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!\$notes@{\$notes}}
\index{\$notes@{\$notes}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{\$notes}]{\setlength{\rightskip}{0pt plus 5cm}string Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\$notes\hspace{0.3cm}{\ttfamily [protected]}}\label{classMike42_1_1Escpos_1_1CodePage_a423684467a57187ec5625f50d5acecae}
Notes on this code page, or null if not set. \hypertarget{classMike42_1_1Escpos_1_1CodePage_a6433d530824de3a913b447771cd18c63}{}\index{Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}!I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G@{I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G}}
\index{I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G@{I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G}!Mike42\+::\+Escpos\+::\+Code\+Page@{Mike42\+::\+Escpos\+::\+Code\+Page}}
\subsubsection[{I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G}]{\setlength{\rightskip}{0pt plus 5cm}const Mike42\textbackslash{}\+Escpos\textbackslash{}\+Code\+Page\+::\+I\+N\+P\+U\+T\+\_\+\+E\+N\+C\+O\+D\+I\+N\+G = \char`\"{}U\+T\+F-\/8\char`\"{}}\label{classMike42_1_1Escpos_1_1CodePage_a6433d530824de3a913b447771cd18c63}
The input encoding for generating character maps with iconv. 

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
C\+:/www/aplusnet/incahellas.\+com/public\+\_\+html/lib/escpos-\/php-\/development/src/\+Mike42/\+Escpos/Code\+Page.\+php\end{DoxyCompactItemize}
