diff options
Diffstat (limited to 'graphics/pgf/contrib')
-rw-r--r-- | graphics/pgf/contrib/maritime/LICENSE | 21 | ||||
-rw-r--r-- | graphics/pgf/contrib/maritime/README.md | 39 | ||||
-rw-r--r-- | graphics/pgf/contrib/maritime/doc/maritime-doc.pdf | bin | 0 -> 45057 bytes | |||
-rw-r--r-- | graphics/pgf/contrib/maritime/doc/maritime-doc.tex | 160 | ||||
-rw-r--r-- | graphics/pgf/contrib/maritime/tex/maritime.sty | 671 |
5 files changed, 891 insertions, 0 deletions
diff --git a/graphics/pgf/contrib/maritime/LICENSE b/graphics/pgf/contrib/maritime/LICENSE new file mode 100644 index 0000000000..d470a91845 --- /dev/null +++ b/graphics/pgf/contrib/maritime/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2025 N. E. Davis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/graphics/pgf/contrib/maritime/README.md b/graphics/pgf/contrib/maritime/README.md new file mode 100644 index 0000000000..bd84664f1d --- /dev/null +++ b/graphics/pgf/contrib/maritime/README.md @@ -0,0 +1,39 @@ +# `maritime` + +International maritime signal flags using TikZ. + +The `maritime` package provides LaTeX commands for drawing international maritime signal flags using TikZ. The [documentation](./doc/maritime-doc.pdf) covers the basic usage of the package. + +## Contact + +Author: N. E. Davis +Email: neal.davis@protonmail.com +GitHub username: @sigilante + +## License + +The `maritime` package is made available under the MIT License. + +``` +MIT License + +Copyright (c) 2025 N. E. Davis + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` diff --git a/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf b/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf Binary files differnew file mode 100644 index 0000000000..08e4947289 --- /dev/null +++ b/graphics/pgf/contrib/maritime/doc/maritime-doc.pdf diff --git a/graphics/pgf/contrib/maritime/doc/maritime-doc.tex b/graphics/pgf/contrib/maritime/doc/maritime-doc.tex new file mode 100644 index 0000000000..9f0cebc06c --- /dev/null +++ b/graphics/pgf/contrib/maritime/doc/maritime-doc.tex @@ -0,0 +1,160 @@ +\documentclass{article} +\usepackage{maritime} +\usepackage{longtable} % For multi-page tables +\usepackage{hyperref} % For hyperlinks +\usepackage{xcolor} % For color in examples if needed + +\title{International Maritime Signal Flags Documentation} +\author{N.\ E.\ Davis, \texttt{@sigilante}, \texttt{\textasciitilde lagrev-nocfep}} +\date{\today} + +\begin{document} + +\maketitle + +\section{Introduction} + +The \textbf{maritime} package provides LaTeX commands for drawing international maritime signal flags using TikZ. This documentation covers the basic usage of the package. + +\section{Installation} +To use this package, ensure your \texttt{maritime.sty} file is in a directory where LaTeX can find it (like \texttt{texmf-local/tex/latex/maritime/}) or in the same directory as your document. + +\section{Usage} + +\subsection{Drawing Flags} +Flags are drawn using specific commands: + +\begin{itemize} + \item \verb|\flagZ|: Draws flag Z. + \item \verb|\flagO|: Draws flag O. + \item \verb|\flagR|: Draws flag R. + \item \verb|\flagP|: Draws flag P. +\end{itemize} + +Here's how to use them. We suggest using \verb|\quad| to separate the flags as otherwise they abut. + +\begin{verbatim} + \flagZ + \flagO + \flagR + \flagP +\end{verbatim} + +Example: + +\flagZ \quad \flagO \quad \flagR \quad \flagP + +Furthermore, we provide the standard name at \verb|\flagXname| and the blazon at \verb|\flagXblazon| for each flag \verb|X|. + +Example: + +\begin{verbatim} + \flagZname: \flagZblazon + \flagOname: \flagOblazon + \flagRname: \flagRblazon + \flagPname: \flagPblazon +\end{verbatim} + +\noindent +\flagZname: \flagZblazon \\ +\flagOname: \flagOblazon \\ +\flagRname: \flagRblazon \\ +\flagPname: \flagPblazon + +\section{The Flags} + +We supply the alphabetical International Code of Symbols maritime flags and the NATO number flags. + +\begin{longtable}{lcl} + \caption{International Maritime Signal Flags, Letters} \\ + A \flagAname & \flagA & \flagAblazon \\ + B \flagBname & \flagB & \flagBblazon \\ + C \flagCname & \flagC & \flagCblazon \\ + D \flagDname & \flagD & \flagDblazon \\ + E \flagEname & \flagE & \flagEblazon \\ + F \flagFname & \flagF & \flagFblazon \\ + G \flagGname & \flagG & \flagGblazon \\ + H \flagHname & \flagH & \flagHblazon \\ + I \flagIname & \flagI & \flagIblazon \\ + J \flagJname & \flagJ & \flagJblazon \\ + K \flagKname & \flagK & \flagKblazon \\ + L \flagLname & \flagL & \flagLblazon \\ + M \flagMname & \flagM & \flagMblazon \\ + N \flagNname & \flagN & \flagNblazon \\ + O \flagOname & \flagO & \flagOblazon \\ + P \flagPname & \flagP & \flagPblazon \\ + Q \flagQname & \flagQ & \flagQblazon \\ + R \flagRname & \flagR & \flagRblazon \\ + S \flagSname & \flagS & \flagSblazon \\ + T \flagTname & \flagT & \flagTblazon \\ + U \flagUname & \flagU & \flagUblazon \\ + V \flagVname & \flagV & \flagVblazon \\ + W \flagWname & \flagW & \flagWblazon \\ + X \flagXname & \flagX & \flagXblazon \\ + Y \flagYname & \flagY & \flagYblazon \\ + Z \flagZname & \flagZ & \flagZblazon \\ +\end{longtable} + +\begin{longtable}{lcl} + \caption{International Maritime Signal Flags, Numbers} \\ + 0 \flagZeroName & \flagZero & \flagZeroBlazon \\ + 1 \flagOneName & \flagOne & \flagOneBlazon \\ + 2 \flagTwoName & \flagTwo & \flagTwoBlazon \\ + 3 \flagThreeName & \flagThree & \flagThreeBlazon \\ + 4 \flagFourName & \flagFour & \flagFourBlazon \\ + 5 \flagFiveName & \flagFive & \flagFiveBlazon \\ + 6 \flagSixName & \flagSix & \flagSixBlazon \\ + 7 \flagSevenName & \flagSeven & \flagSevenBlazon \\ + 8 \flagEightName & \flagEight & \flagEightBlazon \\ + 9 \flagNineName & \flagNine & \flagNineBlazon \\ +\end{longtable} + +\subsection{Customization} + +\subsubsection{Size} + +The standard flag size is \verb|15ex|, meaning the height of the flag is 15 times the height of the letter `x'. + +\begin{verbatim} + \flagSix + \flagNine +\end{verbatim} + +Example: + +\flagSix \quad \flagNine + +Flags can be scaled using standard LaTeX font size commands: + +\begin{verbatim} +{\Large \flagU} +{\normalsize \flagR} +{\tiny \flagB} +\end{verbatim} + +Example: + +{\Large \flagU} \quad {\normalsize \flagR} \quad {\tiny \flagB} + +They may also be explicitly scaled using the \verb|\resizebox| command: + +\begin{verbatim} + \resizebox{!}{5cm}{\flagI} + \resizebox{!}{0.5cm}{\flagT} +\end{verbatim} + +Example: + +\resizebox{!}{5cm}{\flagI} \quad \resizebox{!}{0.5cm}{\flagT} + +\section{Conclusion} + +% enjoy yourself +\begin{center} +\flagE \space \flagN \space \flagJ \space \flagO \space \flagY \\ + +\flagY \quad \flagO \quad \flagU \quad \flagR \\ +\quad \flagS \quad \flagE \quad \flagL \quad \flagF +\end{center} + +\end{document} diff --git a/graphics/pgf/contrib/maritime/tex/maritime.sty b/graphics/pgf/contrib/maritime/tex/maritime.sty new file mode 100644 index 0000000000..fde4922fa7 --- /dev/null +++ b/graphics/pgf/contrib/maritime/tex/maritime.sty @@ -0,0 +1,671 @@ +% ============================================================================= +% worldflags.sty - International Maritime Signal Flags with TikZ +% (c) N. E. Davis 2025-02-15 +% ============================================================================= +\ProvidesPackage{maritime}[2025/02/15 v1.0 International Maritime Signal Flags with TikZ] +\RequirePackage{tikz} +\RequirePackage{xcolor} +\RequirePackage{etex} +\RequirePackage{xkeyval} +\RequirePackage{graphicx} +\RequirePackage{xstring} +\usetikzlibrary{calc,shadows,shapes,shapes.symbols,positioning,math,decorations.text} + +% ---------------------------------------------------------------------------- +% Default values +% ---------------------------------------------------------------------------- +\makeatletter +\newdimen\fl@gwidth +\newdimen\fl@glength +\newdimen\cutdepth +\newdimen\saltiredepth + +\def\setflagdimensions{% + \fl@gwidth=15ex + \fl@glength=\fl@gwidth + \cutdepth=0.75\fl@gwidth + % 1.414 / 10 = 0.1414 + \saltiredepth=0.1414\fl@gwidth +} +\def\fl@gvariant{0} % 2022-07-09 +\def\fl@gstretch{0} +\def\fr@mecolor{black!60} +\def\gr@dcolor{black!80} +\newif\if@mbl@m\@mbl@mtrue +\newif\if@rid\@ridfalse +\newif\ifn@@mbl@m\n@@mbl@mtrue +\def\view@ngle{0} +\def\hang@ngle{0} + +% ---------------------------------------------------------------------------- +% Colors +% ---------------------------------------------------------------------------- +\definecolor{gridcolor}{rgb}{0.8,0.8,0.8} + +\definecolor{argent}{rgb}{1.0,1.0,1.0} +\definecolor{or}{rgb}{1.0,1.0,0.0} +\definecolor{gules}{rgb}{1.0,0.0,0.0} +\definecolor{azure}{rgb}{0.0,0.5,1.0} +\definecolor{vert}{rgb}{0.0,0.5,0.0} +\definecolor{sable}{rgb}{0.0,0.0,0.0} + +% ---------------------------------------------------------------------------- +% Base flag +% ---------------------------------------------------------------------------- +% A Alfa, swallowtailed per pale argent and azure +\newcommand{\flagAname}{Alfa} +\newcommand{\flagAblazon}{swallowtailed per pale argent and azure} +\newcommand{\flagA}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [azure] (0.5\fl@gwidth,0) + -- (\fl@gwidth,0) + -- (\cutdepth,0.5\fl@glength) + -- (\fl@gwidth,\fl@glength) + -- (0.5\fl@gwidth,\fl@glength) + -- cycle; + \draw [gridcolor] (0,0) + -- (\fl@gwidth,0) + -- (\cutdepth,0.5\fl@glength) + -- (\fl@gwidth,\fl@glength) + -- (0,\fl@glength) + -- cycle; + \end{tikzpicture}% +} + +% B Bravo, swallowtailed gules +\newcommand{\flagBname}{Bravo} +\newcommand{\flagBblazon}{swallowtailed gules} +\newcommand{\flagB}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (00,0) + -- (\fl@gwidth,0) + -- (\cutdepth,0.5\fl@glength) + -- (\fl@gwidth,\fl@glength) + -- (0,\fl@glength) + -- cycle; + \draw [gridcolor] (0,0) + -- (\fl@gwidth,0) + -- (\cutdepth,0.5\fl@glength) + -- (\fl@gwidth,\fl@glength) + -- (0,\fl@glength) + -- cycle; + \end{tikzpicture}% +} + +% C Charlie, azure a fess gules fimbriated argent +\newcommand{\flagCname}{Charlie} +\newcommand{\flagCblazon}{azure a fess gules fimbriated argent} +\newcommand{\flagC}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (\fl@gwidth,0.2\fl@glength); + \fill [argent] (0,0.2\fl@glength) rectangle (\fl@gwidth,0.4\fl@glength); + \fill [gules] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength); + \fill [argent] (0,0.6\fl@glength) rectangle (\fl@gwidth,0.8\fl@glength); + \fill [azure] (0,0.8\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% D Delta, gules a pale argent +\newcommand{\flagDname}{Delta} +\newcommand{\flagDblazon}{gules a pale argent} +\newcommand{\flagD}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,0.25\fl@glength); + \fill [azure] (0,0.25\fl@glength) rectangle (\fl@gwidth,0.75\fl@glength); + \fill [or] (0,0.75\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% E Echo, per fess azure and gules +\newcommand{\flagEname}{Echo} +\newcommand{\flagEblazon}{per fess azure and gules} +\newcommand{\flagE}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (0,0) rectangle (\fl@gwidth,0.5\fl@glength); + \fill [azure] (0,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% F Foxtrot, argent, a lozenge throughout gules +\newcommand{\flagFname}{Foxtrot} +\newcommand{\flagFblazon}{argent, a lozenge throughout gules} +\newcommand{\flagF}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [gules] (0.5\fl@gwidth,0) + -- (\fl@gwidth,0.5\fl@glength) + -- (0.5\fl@gwidth,\fl@glength) + -- (0,0.5\fl@glength) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% G Golf, Paly of six or and azure +\newcommand{\flagGname}{Golf} +\newcommand{\flagGblazon}{Paly of six or and azure} +\newcommand{\flagG}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (0.1666667\fl@gwidth,\fl@glength); + \fill [azure] (0.1666667\fl@gwidth,0) rectangle (0.3333333\fl@gwidth,\fl@glength); + \fill [or] (0.3333333\fl@gwidth,0) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [azure] (0.5\fl@gwidth,0) rectangle (0.6666667\fl@gwidth,\fl@glength); + \fill [or] (0.6666667\fl@gwidth,0) rectangle (0.8333333\fl@gwidth,\fl@glength); + \fill [azure] (0.8333333\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% H Hotel, per pale argent and gules +\newcommand{\flagHname}{Hotel} +\newcommand{\flagHblazon}{per pale argent and gules} +\newcommand{\flagH}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [gules] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% I India, or, a pellet +\newcommand{\flagIname}{India} +\newcommand{\flagIblazon}{or, a pellet} +\newcommand{\flagI}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [sable] (0.5\fl@gwidth,0.5\fl@glength) circle (0.25\fl@gwidth); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% J Juliet, azure, a fess argent +\newcommand{\flagJname}{Juliet} +\newcommand{\flagJblazon}{azure, a fess argent} +\newcommand{\flagJ}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (\fl@gwidth,0.333333*\fl@glength); + \fill [argent] (0,0.333333*\fl@glength) rectangle (\fl@gwidth,0.666667*\fl@glength); + \fill [azure] (0,0.666667*\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% K Kilo, per pale or and azure +\newcommand{\flagKname}{Kilo} +\newcommand{\flagKblazon}{per pale or and azure} +\newcommand{\flagK}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [azure] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% L Lima, quarterly or and sable +\newcommand{\flagLname}{Lima} +\newcommand{\flagLblazon}{quarterly or and sable} +\newcommand{\flagL}{% + \setflagdimensions + \begin{tikzpicture} + \fill [sable] (0,0) rectangle (0.5\fl@gwidth,0.5\fl@glength); + \fill [or] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,0.5\fl@glength); + \fill [or] (0,0.5\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [sable] (0.5\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% M Mike, azure, a saltire argent +\newcommand{\flagMname}{Mike} +\newcommand{\flagMblazon}{azure, a saltire argent} +\newcommand{\flagM}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [argent] (0,0) + -- (\saltiredepth,0) + -- (\fl@gwidth,\fl@glength-\saltiredepth) + -- (\fl@gwidth,\fl@glength) + -- (\fl@gwidth-\saltiredepth,\fl@glength) + -- (0,\saltiredepth) + -- cycle; + \fill [argent] (0,\fl@glength) + -- (\saltiredepth,\fl@glength) + -- (\fl@gwidth,\saltiredepth) + -- (\fl@gwidth,0) + -- (\fl@gwidth-\saltiredepth,0) + -- (0,\fl@glength-\saltiredepth) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% N November, chequy of sixteen azure and argent +\newcommand{\flagNname}{November} +\newcommand{\flagNblazon}{chequy of sixteen azure and argent} +\newcommand{\flagN}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (0.25\fl@gwidth,0.25\fl@glength); + \fill [azure] (0.25\fl@gwidth,0) rectangle (0.5\fl@gwidth,0.25\fl@glength); + \fill [argent] (0.5\fl@gwidth,0) rectangle (0.75\fl@gwidth,0.25\fl@glength); + \fill [azure] (0.75\fl@gwidth,0) rectangle (\fl@gwidth,0.25\fl@glength); + \fill [azure] (0,0.25\fl@glength) rectangle (0.25\fl@gwidth,0.5\fl@glength); + \fill [argent] (0.25\fl@gwidth,0.25\fl@glength) rectangle (0.5\fl@gwidth,0.5\fl@glength); + \fill [azure] (0.5\fl@gwidth,0.25\fl@glength) rectangle (0.75\fl@gwidth,0.5\fl@glength); + \fill [argent] (0.75\fl@gwidth,0.25\fl@glength) rectangle (\fl@gwidth,0.5\fl@glength); + \fill [argent] (0,0.5\fl@glength) rectangle (0.25\fl@gwidth,0.75\fl@glength); + \fill [azure] (0.25\fl@gwidth,0.5\fl@glength) rectangle (0.5\fl@gwidth,0.75\fl@glength); + \fill [argent] (0.5\fl@gwidth,0.5\fl@glength) rectangle (0.75\fl@gwidth,0.75\fl@glength); + \fill [azure] (0.75\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,0.75\fl@glength); + \fill [azure] (0,0.75\fl@glength) rectangle (0.25\fl@gwidth,\fl@glength); + \fill [argent] (0.25\fl@gwidth,0.75\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [azure] (0.5\fl@gwidth,0.75\fl@glength) rectangle (0.75\fl@gwidth,\fl@glength); + \fill [argent] (0.75\fl@gwidth,0.75\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% O Oscar, per bend gules and or +\newcommand{\flagOname}{Oscar} +\newcommand{\flagOblazon}{per bend gules and or} +\newcommand{\flagO}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) -- (0,\fl@glength) -- (\fl@gwidth,0) -- cycle; + \fill [gules] (0,\fl@glength) -- (\fl@gwidth,\fl@glength) -- (\fl@gwidth,0) -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% P Papa, azure, an inescutcheon argent +\newcommand{\flagPname}{Papa} +\newcommand{\flagPblazon}{azure, an inescutcheon argent} +\newcommand{\flagP}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [argent] (0.333333\fl@gwidth,0.333333\fl@glength) rectangle (0.666667\fl@gwidth,0.666667\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% Q Quebec, or +\newcommand{\flagQname}{Quebec} +\newcommand{\flagQblazon}{or} +\newcommand{\flagQ}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% R Romeo, gules, a cross or +\newcommand{\flagRname}{Romeo} +\newcommand{\flagRblazon}{gules, a cross or} +\newcommand{\flagR}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [or] (0.4\fl@gwidth,0) rectangle (0.6\fl@gwidth,\fl@glength); + \fill [or] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% S Sierra, argent, an inescutcheon azure +\newcommand{\flagSname}{Sierra} +\newcommand{\flagSblazon}{argent, an inescutcheon azure} +\newcommand{\flagS}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [azure] (0.333333\fl@gwidth,0.333333\fl@glength) rectangle (0.666667\fl@gwidth,0.666667\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% T Tango, tierced in pale gules, argent and azure +\newcommand{\flagTname}{Tango} +\newcommand{\flagTblazon}{tierced in pale gules, argent and azure} +\newcommand{\flagT}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength); + \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength); + \fill [azure] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% U Uniform, quarterly gules and argent +\newcommand{\flagUname}{Uniform} +\newcommand{\flagUblazon}{quarterly gules and argent} +\newcommand{\flagU}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (0.5\fl@gwidth,0.5\fl@glength); + \fill [gules] (0.5\fl@gwidth,0) rectangle (\fl@gwidth,0.5\fl@glength); + \fill [gules] (0,0.5\fl@glength) rectangle (0.5\fl@gwidth,\fl@glength); + \fill [argent] (0.5\fl@gwidth,0.5\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% V Victor, argent, a saltire gules +\newcommand{\flagVname}{Victor} +\newcommand{\flagVblazon}{argent, a saltire gules} +\newcommand{\flagV}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [gules] (0,0) + -- (\saltiredepth,0) + -- (\fl@gwidth,\fl@glength-\saltiredepth) + -- (\fl@gwidth,\fl@glength) + -- (\fl@gwidth-\saltiredepth,\fl@glength) + -- (0,\saltiredepth) + -- cycle; + \fill [gules] (0,\fl@glength) + -- (\saltiredepth,\fl@glength) + -- (\fl@gwidth,\saltiredepth) + -- (\fl@gwidth,0) + -- (\fl@gwidth-\saltiredepth,0) + -- (0,\fl@glength-\saltiredepth) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% W Whiskey, azure, an inescutcheon gules fimbriated argent +\newcommand{\flagWname}{Whiskey} +\newcommand{\flagWblazon}{azure, an inescutcheon gules fimbriated argent} +\newcommand{\flagW}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [argent] (0.2\fl@gwidth,0.2\fl@glength) rectangle (0.8\fl@gwidth,0.8\fl@glength); + \fill [gules] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% X X-ray, argent, a cross azure +\newcommand{\flagXname}{X-ray} +\newcommand{\flagXblazon}{argent, a cross azure} +\newcommand{\flagX}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [azure] (0.4\fl@gwidth,0) rectangle (0.6\fl@gwidth,\fl@glength); + \fill [azure] (0,0.4\fl@glength) rectangle (\fl@gwidth,0.6\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% Y Yankee, bendy sinister of ten or and gules +\newcommand{\flagYname}{Yankee} +\newcommand{\flagYblazon}{bendy sinister of ten or and gules} +\newcommand{\flagY}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [gules] (0,0.8\fl@glength) + -- (0.2\fl@gwidth,\fl@glength) + -- (0.4\fl@gwidth,\fl@glength) + -- (0,0.6\fl@glength) + -- cycle; + \fill [gules] (0,0.4\fl@glength) + -- (0.6\fl@gwidth,\fl@glength) + -- (0.8\fl@gwidth,\fl@glength) + -- (0,0.2\fl@glength) + -- cycle; + \fill [gules] (0,0) + -- (\fl@gwidth,\fl@glength) + -- (\fl@gwidth,0.8\fl@glength) + -- (0.2\fl@gwidth,0) + -- cycle; + \fill [gules] (0.4\fl@gwidth,0) + -- (\fl@gwidth,0.6\fl@glength) + -- (\fl@gwidth,0.4\fl@glength) + -- (0.6\fl@gwidth,0) + -- cycle; + \fill [gules] (0.8\fl@gwidth,0) + -- (\fl@gwidth,0.2\fl@glength) + -- (\fl@gwidth,0) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% Z Zulu, per saltire or, sable, gules, and azure +\newcommand{\flagZname}{Zulu} +\newcommand{\flagZblazon}{per saltire or, sable, gules, and azure} +\newcommand{\flagZ}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [sable] (0,0) -- (0,\fl@glength) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle; + \fill [gules] (0,0) -- (\fl@gwidth,0) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle; + \fill [azure] (\fl@gwidth,0) -- (\fl@gwidth,\fl@glength) -- (0.5\fl@gwidth,0.5\fl@glength) -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 0 Zero, argent, five crosses hummetty azure in saltire +\newcommand{\flagZeroName}{Zero} +\newcommand{\flagZeroBlazon}{argent, five crosses hummetty azure in saltire} +\newcommand{\flagZero}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength); + % + \fill [azure] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength); + \fill [argent] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.133333\fl@gwidth,0.133333\fl@glength); + \fill [argent] (0.066667\fl@gwidth,0.2\fl@glength) rectangle (0.133333\fl@gwidth,0.266667\fl@glength); + \fill [argent] (0.2\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.133333\fl@glength); + \fill [argent] (0.2\fl@gwidth,0.2\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength); + \draw [argent] (0.066667\fl@gwidth,0.066667\fl@glength) rectangle (0.266667\fl@gwidth,0.266667\fl@glength); + % + \fill [azure] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength); + \fill [argent] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.133333\fl@gwidth,0.8\fl@glength); + \fill [argent] (0.066667\fl@gwidth,0.866667\fl@glength) rectangle (0.133333\fl@gwidth,0.933333\fl@glength); + \fill [argent] (0.2\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.8\fl@glength); + \fill [argent] (0.2\fl@gwidth,0.866667\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength); + \draw [argent] (0.066667\fl@gwidth,0.733333\fl@glength) rectangle (0.266667\fl@gwidth,0.933333\fl@glength); + % + \fill [azure] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength); + \fill [argent] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.8\fl@gwidth,0.133333\fl@glength); + \fill [argent] (0.733333\fl@gwidth,0.2\fl@glength) rectangle (0.8\fl@gwidth,0.266667\fl@glength); + \fill [argent] (0.866667\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.133333\fl@glength); + \fill [argent] (0.866667\fl@gwidth,0.2\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength); + \draw [argent] (0.733333\fl@gwidth,0.066667\fl@glength) rectangle (0.933333\fl@gwidth,0.266667\fl@glength); + % + \fill [azure] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength); + \fill [argent] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.8\fl@gwidth,0.8\fl@glength); + \fill [argent] (0.733333\fl@gwidth,0.866667\fl@glength) rectangle (0.8\fl@gwidth,0.933333\fl@glength); + \fill [argent] (0.866667\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.8\fl@glength); + \fill [argent] (0.866667\fl@gwidth,0.866667\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength); + \draw [argent] (0.733333\fl@gwidth,0.733333\fl@glength) rectangle (0.933333\fl@gwidth,0.933333\fl@glength); + % cross centered on 0.5\fl@gwidth, 0.5\fl@glength + \fill [azure] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength); + \fill [argent] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.466667\fl@gwidth,0.466667\fl@glength); + \fill [argent] (0.4\fl@gwidth,0.533333\fl@glength) rectangle (0.466667\fl@gwidth,0.6\fl@glength); + \fill [argent] (0.533333\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.466667\fl@glength); + \fill [argent] (0.533333\fl@gwidth,0.533333\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength); + \draw [argent] (0.4\fl@gwidth,0.4\fl@glength) rectangle (0.6\fl@gwidth,0.6\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 1 One, gules, a fess or +\newcommand{\flagOneName}{One} +\newcommand{\flagOneBlazon}{gules, a fess or} +\newcommand{\flagOne}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength); + \fill [or] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength); + \fill [gules] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 2 Two, or, a fess gules +\newcommand{\flagTwoName}{Two} +\newcommand{\flagTwoBlazon}{or, a fess gules} +\newcommand{\flagTwo}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength); + \fill [gules] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength); + \fill [or] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 3 Three, azure, a fess gules +\newcommand{\flagThreeName}{Three} +\newcommand{\flagThreeBlazon}{azure, a fess gules} +\newcommand{\flagThree}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (\fl@gwidth,0.333333\fl@glength); + \fill [gules] (0,0.333333\fl@glength) rectangle (\fl@gwidth,0.666667\fl@glength); + \fill [azure] (0,0.666667\fl@glength) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 4 Four, gules, a saltire argent +\newcommand{\flagFourName}{Four} +\newcommand{\flagFourBlazon}{gules, a saltire argent} +\newcommand{\flagFour}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [argent] (0,0) + -- (\saltiredepth,0) + -- (\fl@gwidth,\fl@glength-\saltiredepth) + -- (\fl@gwidth,\fl@glength) + -- (\fl@gwidth-\saltiredepth,\fl@glength) + -- (0,\saltiredepth) + -- cycle; + \fill [argent] (0,\fl@glength) + -- (\saltiredepth,\fl@glength) + -- (\fl@gwidth,\saltiredepth) + -- (\fl@gwidth,0) + -- (\fl@gwidth-\saltiredepth,0) + -- (0,\fl@glength-\saltiredepth) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 5 Five, or, a saltire azure +\newcommand{\flagFiveName}{Five} +\newcommand{\flagFiveBlazon}{or, a saltire azure} +\newcommand{\flagFive}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [azure] (0,0) + -- (\saltiredepth,0) + -- (\fl@gwidth,\fl@glength-\saltiredepth) + -- (\fl@gwidth,\fl@glength) + -- (\fl@gwidth-\saltiredepth,\fl@glength) + -- (0,\saltiredepth) + -- cycle; + \fill [azure] (0,\fl@glength) + -- (\saltiredepth,\fl@glength) + -- (\fl@gwidth,\saltiredepth) + -- (\fl@gwidth,0) + -- (\fl@gwidth-\saltiredepth,0) + -- (0,\fl@glength-\saltiredepth) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 6 Six, bendy sinister of seven argent and azure +\newcommand{\flagSixName}{Six} +\newcommand{\flagSixBlazon}{bendy sinister of seven argent and azure} +\newcommand{\flagSix}{% + \setflagdimensions + \begin{tikzpicture} + \fill [argent] (0,0) rectangle (\fl@gwidth,\fl@glength); + \fill [azure] (0,0.142857\fl@glength) + -- (0.857143\fl@gwidth,\fl@glength) + -- (\fl@gwidth,\fl@glength) + -- (\fl@gwidth,0.857143\fl@glength) + -- (0.142857\fl@gwidth,0) + -- (0,0) + -- cycle; + \fill [azure] (0,0.428571\fl@glength) + -- (0.571429\fl@gwidth,\fl@glength) + -- (0.285714\fl@gwidth,\fl@glength) + -- (0,0.714286\fl@glength) + -- cycle; + \fill [azure] (\fl@gwidth,0.571429\fl@glength) + -- (\fl@gwidth,0.285714\fl@glength) + -- (0.714286\fl@gwidth,0) + -- (0.428571\fl@gwidth,0) + -- cycle; + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 7 Seven, gules, a pale argent +\newcommand{\flagSevenName}{Seven} +\newcommand{\flagSevenBlazon}{gules, a pale argent} +\newcommand{\flagSeven}{% + \setflagdimensions + \begin{tikzpicture} + \fill [gules] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength); + \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength); + \fill [gules] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 8 Eight, or, a pale azure +\newcommand{\flagEightName}{Eight} +\newcommand{\flagEightBlazon}{or, a pale azure} +\newcommand{\flagEight}{% + \setflagdimensions + \begin{tikzpicture} + \fill [or] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength); + \fill [azure] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength); + \fill [or] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} + +% 9 Nine, azure, a pale argent +\newcommand{\flagNineName}{Nine} +\newcommand{\flagNineBlazon}{azure, a pale argent} +\newcommand{\flagNine}{% + \setflagdimensions + \begin{tikzpicture} + \fill [azure] (0,0) rectangle (0.333333\fl@gwidth,\fl@glength); + \fill [argent] (0.333333\fl@gwidth,0) rectangle (0.666667\fl@gwidth,\fl@glength); + \fill [azure] (0.666667\fl@gwidth,0) rectangle (\fl@gwidth,\fl@glength); + \draw [gridcolor] (0,0) rectangle (\fl@gwidth,\fl@glength); + \end{tikzpicture}% +} |