%\listfiles
%% $Id: countriesofeurope.tex 1095 2019-10-03 06:05:39Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV=13,toc=bibliography,parskip=false,
   headings=small,headinclude=false,footinclude=false,oneside]{pst-doc}
\usepackage[Scale=7.5]{countriesofeurope}
\let\pstFV\fileversion

\usepackage{ifluatex}
\usepackage{dtk-logos}
\ifluatex\else
  \pdfmapfile{+countriesofeurope.map} % only needed, if the map is not enabled with updmap
\fi
\usepackage{lmodern,array,longtable,graphicx,ifthen,ragged2e,libertinus}

\makeatletter
\newcommand\Country[2][]{{%
  \tabular{|>{\Centering}p{2.5cm}|}\hline
    \strut\footnotesize\texttt{\textbackslash#2}\\\hline
    \parbox[c][3.2cm]{2cm}{\EUCountry[#1]{#2}}\\\hline
  \endtabular}}

\makeatother

\newcounter{N}

\renewcommand\bgImage{%
 \EUCountry[Scale=3,outline,fillcolor=blue!20,linecolor=black]{Germany}}

\usepackage{biblatex}
\addbibresource{\jobname.bib}
\begin{document}

\title{Package \texttt{countriesofeurope}}
\subtitle{Printing all european countries as a character of a font (v.\,0.23)}
\author{Rolf Niepraschk\\Herbert Voß\\Ingo Zimmermann}
\docauthor{Herbert Voß}
\date{\today}
\maketitle

\section{Introduction}

\begin{sloppypar}
This package defines the two macros \Lcs{countriesofeuropefamily} (short version is \Lcs{CoEF}) 
and \Lcs{EUCountry}\verb|[options]{name}|,
which allow to print one of the european countries as a single character with the given scaling or
with an individual scaling.

The first one switches
to the font encoding \verb|U| (Type 1) or \verb|TU| (OpenType) and loads the font and the second 
one does the same but also with
printing the character which the given name, e.\,g. for Finland: \verb|\EUCountry[Scale=0.2]{Germany}|$\rightarrow$%
\EUCountry[Scale=0.2]{Germany}.
\end{sloppypar}

The font can be loaded
with an optional argument for the scaling factor, which is preset to 1:

\begin{verbatim}
\usepackage[Scale=10]{countriesofeurope}%   scaled to 10
\end{verbatim}


\section{Default use}

The countris itself are available by a macro from the following list. The characters are
at the position 128--166 in the Type~1 font \LFile{countriesofeurope.pfb} and also available
with the \verb|\char| primitive. The following table shows the countries in their original size
with a scaling of 7.5:

\begin{longtable}{cccc}
\Country{Albania} & 
\Country{Andorra} & 
\Country{Austria} & 
\Country{Belarus} \\ 
\Country{Belgium} &
\Country{Bosnia} & 
\Country{Bulgaria} & 
\Country{Croatia} \\ 
\Country{Czechia} & 
\Country{Denmark} &
\Country{Estonia} & 
\Country{Finland} \\ 
\Country{France} & 
\Country{Germany} & 
\Country{GreatBritain} &
\Country{Greece} \\
\Country{Hungary} & 
\Country{Iceland} & 
\Country{Ireland} & 
\Country{Italy} \\
\Country{Latvia} & 
\Country{Liechtenstein} & 
\Country{Lithuania} & 
\Country{Luxembourg} \\ 
\Country{Macedonia} &
\Country{Malta} & 
\Country{Moldova} & 
\Country{Montenegro} \\ 
\Country{Netherlands} & 
\Country{Norway} &
\Country{Poland} & 
\Country{Portugal} \\ 
\Country{Romania} & 
\Country{Serbia} & 
\Country{Slovakia} &
\Country{Slovenia} \\ 
\Country{Spain} & 
\Country{Sweden} & 
\Country{Switzerland}

\end{longtable}


\noindent\rule{\textwidth}{.5mm}

The countries in the original size with the given bounding box and the text command \verb|\huge|:

%  \DeclareFontShape{U}{countriesofeurope}{m}{n}{<->s*[1]countriesofeurope}{}

\medskip

\begingroup
\fboxsep=0pt
\noindent%
\ifluatex
  \fontspec[Scale=1]{countriesofeurope.otf}
  \huge
  \setcounter{N}{63724}%
  \whiledo{\value{N} > 63686}{%
    \fbox{\symbol{\value{N}}}%
    \addtocounter{N}{-1}}
\else
  \huge
  \setcounter{N}{128}%
  \whiledo{\value{N} < 167}{%
    \fbox{\symbol{\value{N}}}%
    \stepcounter{N}}
\fi
\endgroup

\rmfamily

\section{Outline font}

All countries can be printed as outline, e.\,g.:

\verb|\EUCountry[Scale=37.5,outline]{Germany}|

\EUCountry[Scale=5,outline]{Germany}




\begingroup
\ifluatex
  \CoEF
\else
  \DeclareFontShape{U}{countriesofeurope}{m}{n}{<->s*[1]countriesofeurope}{}
\fi

\begin{longtable}{cccc}
\Country[outline]{Albania} & 
\Country[outline]{Andorra} & 
\Country[outline]{Austria} & 
\Country[outline]{Belarus} \\ 
\Country[outline]{Belgium} &
\Country[outline]{Bosnia} & 
\Country[outline]{Bulgaria} & 
\Country[outline]{Croatia} \\ 
\Country[outline]{Czechia} & 
\Country[outline]{Denmark} &
\Country[outline]{Estonia} & 
\Country[outline]{Finland} \\ 
\Country[outline]{France} & 
\Country[outline]{Germany} & 
\Country[outline]{GreatBritain} &
\Country[outline]{Greece} \\
\Country[outline]{Hungary} & 
\Country[outline]{Iceland} & 
\Country[outline]{Ireland} & 
\Country[outline]{Italy} \\
\Country[outline]{Latvia} & 
\Country[outline]{Liechtenstein} & 
\Country[outline]{Lithuania} & 
\Country[outline]{Luxembourg} \\ 
\Country[outline]{Macedonia} &
\Country[outline]{Malta} & 
\Country[outline]{Moldova} & 
\Country[outline]{Montenegro} \\ 
\Country[outline]{Netherlands} & 
\Country[outline]{Norway} &
\Country[outline]{Poland} & 
\Country[outline]{Portugal} \\ 
\Country[outline]{Romania} & 
\Country[outline]{Serbia} & 
\Country[outline]{Slovakia} &
\Country[outline]{Slovenia} \\ 
\Country[outline]{Spain} & 
\Country[outline]{Sweden} & 
\Country[outline]{Switzerland}

\end{longtable}

\endgroup


\section{Ligatures}
\rmfamily

The countries are internally defined as a ligature so that abreviations of the countries can be
used for printing.
%
%\begin{verbatim}
%\CoEF ge au
%\end{verbatim}
%
These Ligatures are enabled by default! 

%\begin{verbatim}
%\defaultfontfeatures+[\countriesofeuropefamily]{Ligatures=Common}
%\end{verbatim}

%leads to

\begingroup
\ifluatex
  \CoEF
%  \defaultfontfeatures+[\countriesofeuropefamily]{Ligatures=Common}
\else
  \DeclareFontShape{U}{countriesofeurope}{m}{n}{<->s*[1]countriesofeurope}{}
\fi
\verb|{\CoEF ge GE}| $\rightarrow$ {\CoEF ge GE} 
\endgroup




\def\TAB#1{\tabular[b]{@{}l@{}}#1\endtabular}
\begin{longtable}{ll ll}\toprule
\emph{Ligature} & \emph{Output} & \emph{Ligature} & \emph{Output}\\\midrule
\endfirsthead
\midrule
\emph{Ligature} & \emph{Output} & \emph{Ligature} & \emph{Output}\\\midrule
\endhead
AL   & \CoEF AL   & AN   & \CoEF AN \\\hline
AU   & \CoEF AU   & BELA & \CoEF BELA \\\hline 
BELG & \CoEF BELG & BO   & \CoEF BO\\\hline
BU   & \CoEF BU   & CR   & \CoEF CR\\\hline 
CZ   & \CoEF CZ   & \TAB{DAN\\DAE}   & \CoEF DAN\\\hline
EST  & \CoEF EST  & FI   & \CoEF FI \\\hline 
FR   & \CoEF FR   & GE   & \CoEF GE \\
\TAB{EN\\GREA\\BR} & \CoEF BR & GRI & \CoEF GRI \\\hline
HU   & \CoEF HU   & IC   & \CoEF IC \\\hline 
IR   & \CoEF IR   & IT   & \CoEF IT \\\hline
LA   & \CoEF LA   & LIE  & \CoEF LIE\\\hline 
LIT  & \CoEF LIT  & LU   & \CoEF LU \\\hline 
MAC  & \CoEF MAC  & MAL  & \CoEF MAL\\\hline
MOL  & \CoEF MOL  & MON  & \CoEF MON \\\hline 
NE   & \CoEF NE   & NO   & \CoEF NO\\\hline
POL  & \CoEF POL  & POR  & \CoEF POR \\\hline 
RO   & \CoEF RO   & SE   & \CoEF SE \\\hline
SLOVA& \CoEF SLOVA& SLOVE& \CoEF SLOVE \\\hline 
SP   & \CoEF SP   & \TAB{SWE\\SV} & \CoEF SWE\\\hline
SWI  & \CoEF SWI & & \\\bottomrule
\end{longtable}


%\defaultfontfeatures[\countriesofeuropefamily]{Ligatures=NoCommon}


%The Ligatures can also be enabled by 

%\begin{verbatim}
%\usepackage[Ligatures=Common]{countriesofeurope}
%\end{verbatim}


\rmfamily
\section{Color options}



With the optional arguments  \Lkeyword{fillcolor} and \Lkeyword{linecolor} the countries can printed with
different colors. The option \Lkeyword{fillcolor} is only valiD, if the option \Lkeyword{outline} is
set, too.



\verb|\EUCountry[Scale=37.5,outline,fillcolor=blue!20,linecolor=blue]{Germany}|
\ifluatex
  \fontspec{countriesofeurope.otf}
\else
  \DeclareFontShape{U}{countriesofeurope}{m}{n}{<->s*[1]countriesofeurope}{}
\fi


\fbox{\EUCountry[Scale=5,outline,fillcolor=blue!20,linecolor=blue]{Germany}}



\rmfamily
\bgroup
\raggedright
\nocite{*}
%\bibliographystyle{plain}
\printbibliography
\egroup

\printindex





\end{document}
