From 6ad61238b3507a97909ef90ce5760bc182c0cd26 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Thu, 12 Jan 2006 23:52:29 +0000
Subject: braille

git-svn-id: svn://tug.org/texlive/trunk@725 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/braille/braille.sty | 486 ++++++++++++++++++++++++
 1 file changed, 486 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/braille/braille.sty

(limited to 'Master/texmf-dist/tex/latex/braille/braille.sty')

diff --git a/Master/texmf-dist/tex/latex/braille/braille.sty b/Master/texmf-dist/tex/latex/braille/braille.sty
new file mode 100644
index 00000000000..3f9a66ef532
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/braille/braille.sty
@@ -0,0 +1,486 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% braille.sty
+%
+% William Park <opengeometry@yahoo.ca>
+% September 1998, April 1999
+%
+% Major additions made by Dominique Unruh <dominique@unruh.de>
+% March 2001, October 2001
+%  - braille yields error, if invalid points are used in \braillbox
+%  - Option compact causes loading of \braille and tables to be ommitted
+%    (saves memory)
+%  - Option 8dots enables 8-dot braille
+%  - Option mirror mirrors.
+%  - Options useemptybox, puttinydots, 8dots, mirror can be switched on and off
+%    inside the document via \ifbraille...true and \ifbraille...false
+%  - Documentation in the header of braille.sty updated to reflect above
+%    changes
+%  - \braille{} command
+%  - compatible with e-LaTeX's r2l mode.
+%
+%
+% This package defines macros, commands, and fonts to typeset 6- or
+% 8-dot braille symbols for the blinds.  Both Grade 1 and 2 Braille are
+% supported.  All 189 Grade 2 contractions are defined; however, some
+% puctuation symbols are missing, simply because I couldn't find them.
+% 
+% Normally,
+%     \usepackage{braille}
+% is sufficient.  The command \braille{} takes braille "text" which is
+% made up of single character or string enclosed in {}.  It converts
+% "text" arguments into braille tags and calls predefined TeX macros to
+% print out the braille symbols.  For example, 
+%     \usepackage{braille}
+%     \braille{I {like} {com}put{er}}
+% will print braille symbols for
+%     'I', 'like', 'com', 'p', 'u', 't', 'er'
+% along with the 2 spaces.
+%
+% In the argument, whitespaces are processed by TeX in the usual manner.
+% Multiple whitespaces (' ', '\t', '\n') collapse to single space.  If
+% extra spacing is needed, then it must come from outside of \braille{}.
+% 
+% Examples:
+%     \braille{September {Number}1998}
+%     \braille{I run L{in}ux Slackw{ar}e {Number}3.3}
+%     \braille{{Capital}{this} is LaTeX package {for} {braille} {ou}tput.}
+%     \braille{I {also} wrote Py{th}on script {for} {con}v{er}t{ing}
+%     text {to}{braille}.}
+%
+% Therefore, you can type braille paragraph just as you would type
+% normal text paragraph.  To print single character, type that
+% character.  To print multi-character contraction, type that string
+% enclosed in {}.
+%
+% Note that the \braille command assumes English text. Other languages have
+% other abbreviations.
+%
+% The package is used as
+%     \usepackage[puttinydots,useemptybox,compact,8dots]{braille}
+% where
+%     puttinydots -- puts {\tiny.} at all dot positions for visual check
+%     useemptybox -- uses empty braille box instead of \hskip
+%     compact -- load only command \braillebox, not \braille (saves
+%		 memory)
+%     8dots -- display 8-dot braille (not used by \braille)
+%     mirror -- mirrors each braille box (for "printing" braille by hand
+%		with a needle, use e-LaTeX to get right-to-left
+%		writing).
+% You may activate or deactive inside the document
+%     puttinydots by \brailleputtinydotstrue resp. \brailleputtinydotsfalse
+%     useemptybox by \brailleuseemptyboxtrue resp. \brailleuseemptyboxfalse
+%     8dots       by \brailleeightdotstrue   resp. \brailleeightdotsfalse
+%     mirror      by \braillemirrortrue      resp. \braillemirrorfalse
+%
+% Four macros are available to the user:
+%     \braillebox{} -- LaTeX picture box used as braille font
+%     \brailleunit -- \unitlength for \braillebox{}
+%     \brailledot{} -- actual dot printed in \braillebox{}
+%     \braille{} -- main user command (unless option compact is
+%		    activated)
+% 
+% Additional vertical space between paragraphs may be necessary, since
+% \parskip=0pt is default.  \braillebox{} is simple LaTeX picture box
+%     \begin{picture}(2,3) ... \end{picture}
+% containing the actual patterns of dot which are placed with
+%     \put(0.5,0.5){\brailledot} ...
+% The size and shape of braille box and dot can be changed by modifying
+% \brailleunit and \brailledot{}, respectively.
+%
+%
+% List of TeX macros and braille symbols defined here is summarized in
+%     summary.tex -- "Summary of Grade 1 and 2 Braille"
+%     summary.ps
+% In order to type the braille tags manually, user would have to know
+% Braille.  To make it easier for people who don't know Braille, I wrote
+% Python scripts to convert ordinary ASCII text into grade 1 and 2
+% braille tags:
+%     grade1.py -- converts text into grade 1 braille
+%     grade2.py -- converts text into grade 2 braille
+% which behave like any Unix filters.  Since my knowledge of Braille is
+% limited, there will be errors and omissions.  So, check with a braille
+% expert.
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{braille}
+%  With options
+%       puttinydots     = put {\tiny.} at all dot positions
+%       useemptybox     = use empty braille box for space, not \hskip
+
+
+%  Usage:  \braillebox{12345678}
+%  Put dot (\brailledot) at positions 1, 2, 3, 4, 5, 6, 7, 8
+%  Dot locations:
+%   14
+%   25
+%   36
+%   78
+%
+\newlength{\brailleunit}        % size of box containing one dot
+\setlength{\brailleunit}{2mm}
+\newcommand{\brailledot}{\circle*{0.6}}
+
+\newif\ifbrailleputtinydots
+\newif\ifbrailleeightdots
+\newif\ifbraillecompact
+\newif\ifbrailleuseemptybox
+\newif\ifbraillemirror
+
+\DeclareOption{puttinydots}{\brailleputtinydotstrue}
+\DeclareOption{8dots}{\brailleeightdotstrue}
+\DeclareOption{compact}{\braillecompacttrue}
+\DeclareOption{useemptybox}{\brailleuseemptyboxtrue}
+\DeclareOption{mirror}{\braillemirrortrue}
+
+\ProcessOptions
+
+\newcommand{\braillebox}[1]{{\unitlength=\brailleunit
+    \ifx\TeXXeTstate\undefined\else\ifnum\TeXXeTstate=0\else\beginL\fi\fi
+    \kern0.5\unitlength
+    \ifbrailleeightdots
+      \raisebox{-0.5\unitlength}[4\unitlength]{%
+        \begin{picture}(2,4)(0,-1)
+          \ifbrailleputtinydots\put@tinydots\fi
+          \put@dot{#1}
+        \end{picture}}%
+    \else
+      \raisebox{-0.5\unitlength}[3\unitlength]{%
+        \begin{picture}(2,3)
+          \ifbrailleputtinydots\put@tinydots\fi
+          \put@dot{#1}
+        \end{picture}}%
+    \fi
+    \kern0.5\unitlength
+    \ifx\TeXXeTstate\undefined\else\ifnum\TeXXeTstate=0\else\endL\fi\fi}}
+
+\newcommand{\put@tinydots}{%
+  \put(0.5,2.5){\makebox[0pt]{\tiny.}}
+  \put(0.5,1.5){\makebox[0pt]{\tiny.}}
+  \put(0.5,0.5){\makebox[0pt]{\tiny.}}
+  \put(1.5,2.5){\makebox[0pt]{\tiny.}}
+  \put(1.5,1.5){\makebox[0pt]{\tiny.}}
+  \put(1.5,0.5){\makebox[0pt]{\tiny.}}
+  \ifbrailleeightdots
+  \put(0.5,-.5){\makebox[0pt]{\tiny.}}%
+  \put(1.5,-.5){\makebox[0pt]{\tiny.}}\fi}
+
+\newcommand{\put@dot}[1]{\@tfor\tempyyy:=#1\do{\ifcase\tempyyy
+    \PackageError{braille}{Bad dots #1}%
+    {Can only display dots 1-8}\or
+    \put(\ifbraillemirror1\else0\fi.5,2.5){\brailledot}\or
+    \put(\ifbraillemirror1\else0\fi.5,1.5){\brailledot}\or
+    \put(\ifbraillemirror1\else0\fi.5,0.5){\brailledot}\or
+    \put(\ifbraillemirror0\else1\fi.5,2.5){\brailledot}\or
+    \put(\ifbraillemirror0\else1\fi.5,1.5){\brailledot}\or
+    \put(\ifbraillemirror0\else1\fi.5,0.5){\brailledot}\or
+    \ifbrailleeightdots\put(\ifbraillemirror1\else0\fi.5,-.5){\brailledot}\else
+    \PackageError{braille}{Bad dots in #1}{Use option 8dots to use
+      eight dot braille}\fi\or
+    \ifbrailleeightdots\put(\ifbraillemirror0\else1\fi.5,-.5){\brailledot}\else
+    \PackageError{braille}{Bad dots in #1}{Use option 8dots to use
+      eight dot braille}\fi\else
+    \PackageError{braille}{Bad dots #1}%
+    {Can only display dots 1-8}\fi}}
+
+\ifbraillecompact
+
+\newcommand\braille[1]{\PackageError{braille}{Command \protect\braille\space
+    not loaded}{Do not use option compact, then you will get
+    \protect\braille}}
+
+\else
+
+% \newcommand{\braille}[1]{\@tfor\tempxxx:=#1\do{\old@char{\tempxxx}}}
+%
+%  \braille{ab{the} c} runs sequence of predefined command associated
+%  with each character or string in {}.  For example,
+%       \BRAILLEa\BRAILLEb\BRAILLEthe\BRAILLEc
+%  Skips all whitespaces.
+%
+%
+% {\obeyspaces\gdef\braille{\begingroup\obeyspaces\@braille}}
+% \def\@braille#1{\@tfor\tempxxx:=#1\do{\old@char{\tempxxx}}\endgroup}
+%
+%  Here, each space is dutifully printed with \hskip.  However, since
+%  any previous spaces are removed with \unskip, multiple spaces
+%  collapse to one space.  It still skips \t and \n, though.  So, for
+%  multiple lines, put spaces at the beginning of each line.  Spaces
+%  at the end of line will be ignored.
+%
+%
+%  -- Fixed by Dominique:
+%
+\def\braille{\begingroup
+    \catcode`\ =12
+    \catcode`\^^M=12
+    \let\brl@@spc\undefined
+    \@braille}
+\def\@braille#1{\@tfor\tempxxx:=#1\do{\old@char{\tempxxx}%
+    \let\brl@@spc\brl@spc\let\brl@spc\undefined}\endgroup}
+
+
+%  \new@char{new}{commands}     define \BRAILLE... command
+%  \old@char{old}               run \BRAILLE... command
+%
+\newcommand{\new@char}[2]{%
+    \@ifundefined{BRAILLE#1}%
+        {\@namedef{BRAILLE#1}{#2}}%
+        {\@latex@error{Braille symbol for {#1} already defined}\@ehc}%
+}
+\newcommand{\old@char}[1]{%
+    \@ifundefined{BRAILLE#1}%
+        {\@latex@error{Braille symbol for {#1} not defined}\@ehc}%
+        {\@nameuse{BRAILLE#1}}%
+}
+
+                              
+%  \def@char{new}{123456}               define one braille code
+%  \ln@char{old}{new}                   ln old new
+%  \ln@@char{olda}{oldb}{new}           ln olda+oldb new
+%  \prefix@char{123456}{old}{new}       ln prefix+old new
+%  \suffix@char{old}{123456}{new}       ln old+suffix new
+%
+\newcommand{\def@char}[2]{\new@char{#1}{\braillebox{#2}}}
+\newcommand{\ln@char}[2]{\new@char{#2}{\old@char{#1}}}
+\newcommand{\ln@@char}[3]{\new@char{#3}{\old@char{#1}\old@char{#2}}}
+\newcommand{\prefix@char}[3]{\new@char{#3}{\braillebox{#1}\old@char{#2}}}
+\newcommand{\suffix@char}[3]{\new@char{#3}{\old@char{#1}\braillebox{#2}}}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%  Defines  \BRAILLE...
+%  where ... can be one or more characters.
+
+%  blank space  -- Fixed by Dominique:
+\newcommand\brl@space{%
+  \ifx\brl@@spc\undefined
+  \ifbrailleuseemptybox
+    \relax\braillebox{}\relax
+  \else
+    \unskip\hskip3\brailleunit\relax
+  \fi\fi
+  \let\brl@spc\@ne}  % 6mm
+\new@char{ }{\brl@space}
+\catcode`\^^M=12\relax%
+\new@char{^^M}{\brl@space}%
+\catcode`\^^M=5\relax%
+
+%  Prefix
+\def@char{Number}{3456}
+\def@char{Letter}{56}
+\def@char{Capital}{6}
+\ln@@char{Capital}{Capital}{Upper}
+\def@char{Italic}{46}
+
+%  Letter and number
+\def@char{a}{1}     \prefix@char{6}{a}{A} \ln@char{a}{1}
+\def@char{b}{12}    \prefix@char{6}{b}{B} \ln@char{b}{2} \ln@char{b}{but}
+\def@char{c}{14}    \prefix@char{6}{c}{C} \ln@char{c}{3} \ln@char{c}{can}
+\def@char{d}{145}   \prefix@char{6}{d}{D} \ln@char{d}{4} \ln@char{d}{do} 
+\def@char{e}{15}    \prefix@char{6}{e}{E} \ln@char{e}{5} \ln@char{e}{every}
+\def@char{f}{124}   \prefix@char{6}{f}{F} \ln@char{f}{6} \ln@char{f}{from}
+\def@char{g}{1245}  \prefix@char{6}{g}{G} \ln@char{g}{7} \ln@char{g}{go} 
+\def@char{h}{125}   \prefix@char{6}{h}{H} \ln@char{h}{8} \ln@char{h}{have}
+\def@char{i}{24}    \prefix@char{6}{i}{I} \ln@char{i}{9}
+\def@char{j}{245}   \prefix@char{6}{j}{J} \ln@char{j}{0} \ln@char{j}{just}
+\def@char{k}{13}    \prefix@char{6}{k}{K}                \ln@char{k}{knowledge}
+\def@char{l}{123}   \prefix@char{6}{l}{L}                \ln@char{l}{like}    
+\def@char{m}{134}   \prefix@char{6}{m}{M}                \ln@char{m}{more}    
+\def@char{n}{1345}  \prefix@char{6}{n}{N}                \ln@char{n}{not}     
+\def@char{o}{135}   \prefix@char{6}{o}{O}
+\def@char{p}{1234}  \prefix@char{6}{p}{P}                \ln@char{p}{people}  
+\def@char{q}{12345} \prefix@char{6}{q}{Q}                \ln@char{q}{quite}   
+\def@char{r}{1235}  \prefix@char{6}{r}{R}                \ln@char{r}{rather}  
+\def@char{s}{234}   \prefix@char{6}{s}{S}                \ln@char{s}{so}      
+\def@char{t}{2345}  \prefix@char{6}{t}{T}                \ln@char{t}{that}    
+\def@char{u}{136}   \prefix@char{6}{u}{U}                \ln@char{u}{us}      
+\def@char{v}{1236}  \prefix@char{6}{v}{V}                \ln@char{v}{very}    
+\def@char{w}{2456}  \prefix@char{6}{w}{W}                \ln@char{w}{will}    
+\def@char{x}{1346}  \prefix@char{6}{x}{X}                \ln@char{x}{it}      
+\def@char{y}{13456} \prefix@char{6}{y}{Y}                \ln@char{y}{you}     
+\def@char{z}{1356}  \prefix@char{6}{z}{Z}                \ln@char{z}{as}      
+
+%  Punctuation
+\def@char{,}{2}	    \ln@char{,}{ea}
+\def@char{;}{23}    \ln@char{;}{bb}	\ln@char{;}{be}
+\def@char{:}{25}    \ln@char{:}{cc}	\ln@char{:}{con}
+\def@char{.}{256}   \ln@char{.}{$}	\ln@char{.}{dd}	    \ln@char{.}{dis}
+\def@char{!}{235}   \ln@char{!}{ff}	\ln@char{!}{to}
+\def@char{(}{2356}  \ln@char{(}{)}	\ln@char{(}{gg}	    \ln@char{(}{were}
+\def@char{``}{236}  \ln@char{``}{?}	\ln@char{``}{his}
+\def@char{''}{356}  \ln@char{''}{by}	\ln@char{''}{was}
+\def@char{-}{36}    \ln@char{-}{com}
+\def@char{'}{3}
+\def@char{/}{34}
+\prefix@char{6}{(}{[}
+\suffix@char{)}{3}{]}
+\prefix@char{6}{``}{.`}         % `...' is same as {.`}...{'.} which is
+\suffix@char{''}{3}{'.}         % similar to actual braille code.
+\ln@@char{in}{in}{*}
+\ln@@char{:}{p}{percent}        % spell out \%
+
+%  Multi letter
+\def@char{and}{12346}
+\def@char{for}{123456}
+\def@char{of}{12356}
+\def@char{the}{2346}
+\def@char{with}{23456}
+
+\def@char{ch}{16}       \ln@char{ch}{child}
+\def@char{sh}{146}      \ln@char{sh}{shall}
+\def@char{th}{1456}     \ln@char{th}{this}
+\def@char{wh}{156}      \ln@char{wh}{which}
+\def@char{ou}{1256}     \ln@char{ou}{out} 
+\def@char{st}{34}       \ln@char{st}{still}     % same as /
+
+\def@char{ar}{345}
+\def@char{er}{12456}
+\def@char{ed}{1246}
+\def@char{gh}{126}
+\def@char{ow}{246}
+
+%  Miscellaneous
+\def@char{ble}{3456}    % same as {Number}
+\def@char{ing}{346}
+\def@char{in}{35}
+\ln@@char{in}{to}{into}
+\def@char{en}{26}       \ln@char{en}{enough}
+
+%  Final letter contraction
+\prefix@char{46}{d}{ound}
+\prefix@char{46}{e}{ance}
+\prefix@char{46}{n}{sion}
+\prefix@char{46}{s}{less}
+\prefix@char{46}{t}{ount}
+
+\prefix@char{56}{e}{ence}
+\prefix@char{56}{g}{ong}
+\prefix@char{56}{l}{ful}
+\prefix@char{56}{n}{tion}
+\prefix@char{56}{s}{ness}
+\prefix@char{56}{t}{ment}
+\prefix@char{56}{y}{ity}
+
+\prefix@char{6}{n}{ation}
+\prefix@char{6}{y}{ally}
+
+%  Initial letter contraction
+\prefix@char{45}{u}{upon}
+\prefix@char{45}{w}{word}
+\prefix@char{45}{th}{those}
+\prefix@char{45}{wh}{whose}
+\prefix@char{45}{the}{these}
+
+\prefix@char{456}{c}{cannot}
+\prefix@char{456}{h}{had}
+\prefix@char{456}{m}{many}
+\prefix@char{456}{s}{spirit}
+\prefix@char{456}{w}{world}
+\prefix@char{456}{the}{their}
+
+\prefix@char{5}{d}{day}
+\prefix@char{5}{e}{ever}
+\prefix@char{5}{f}{father}
+\prefix@char{5}{h}{here}
+\prefix@char{5}{k}{know}
+\prefix@char{5}{l}{lord}
+\prefix@char{5}{m}{mother}
+\prefix@char{5}{n}{name}
+\prefix@char{5}{o}{one}
+\prefix@char{5}{p}{part}
+\prefix@char{5}{q}{question}
+\prefix@char{5}{r}{right}
+\prefix@char{5}{s}{some}
+\prefix@char{5}{t}{time}
+\prefix@char{5}{u}{under}
+\prefix@char{5}{w}{work}
+\prefix@char{5}{y}{young}
+
+\prefix@char{5}{ch}{character}
+\prefix@char{5}{th}{through}
+\prefix@char{5}{wh}{where}
+\prefix@char{5}{ou}{ought}
+\prefix@char{5}{the}{there}
+
+%  Abbreviation for whole word
+\new@char{about}{\braille{ab}}
+\new@char{above}{\braille{abv}}
+\new@char{according}{\braille{ac}}
+\new@char{across}{\braille{acr}}
+\new@char{after}{\braille{af}}
+\new@char{afternoon}{\braille{afn}}
+\new@char{afterward}{\braille{afw}}
+\new@char{again}{\braille{ag}}
+\new@char{against}{\braille{ag{st}}}
+\new@char{almost}{\braille{alm}}
+\new@char{already}{\braille{alr}}
+\new@char{also}{\braille{al}}
+\new@char{although}{\braille{al{th}}}
+\new@char{altogether}{\braille{alt}}
+\new@char{always}{\braille{alw}}
+\new@char{because}{\braille{{be}c}}
+\new@char{before}{\braille{{be}f}}
+\new@char{behind}{\braille{{be}h}}
+\new@char{below}{\braille{{be}l}}
+\new@char{beneath}{\braille{{be}n}}
+\new@char{beside}{\braille{{be}s}}
+\new@char{between}{\braille{{be}t}}
+\new@char{beyond}{\braille{{be}y}}
+\new@char{blind}{\braille{bl}}
+\new@char{braille}{\braille{brl}}
+\new@char{children}{\braille{{ch}n}}
+\new@char{conceive}{\braille{{con}cv}}
+\new@char{conceiving}{\braille{{con}cvg}}
+\new@char{could}{\braille{cd}}
+\new@char{deceive}{\braille{dcv}}
+\new@char{deceiving}{\braille{dcvg}}
+\new@char{declare}{\braille{dcl}}
+\new@char{declaring}{\braille{dclg}}
+\new@char{either}{\braille{ei}}
+\new@char{first}{\braille{f{st}}}
+\new@char{friend}{\braille{fr}}
+\new@char{good}{\braille{gd}}
+\new@char{great}{\braille{grt}}
+\new@char{herself}{\braille{h{er}f}}
+\new@char{him}{\braille{hm}}
+\new@char{himself}{\braille{hmf}}
+\new@char{immediate}{\braille{imm}}
+\new@char{its}{\braille{xs}}
+\new@char{itself}{\braille{xf}}
+\new@char{letter}{\braille{lr}}
+\new@char{little}{\braille{ll}}
+\new@char{much}{\braille{m{ch}}}
+\new@char{must}{\braille{m{st}}}
+\new@char{myself}{\braille{myf}}
+\new@char{necessary}{\braille{nec}}
+\new@char{neither}{\braille{nei}}
+\new@char{o'clock}{\braille{o'c}}
+\new@char{oneself}{\braille{{one}f}}
+\new@char{ourselves}{\braille{{ou}rvs}}
+\new@char{paid}{\braille{pd}}
+\new@char{perceive}{\braille{p{er}cv}}
+\new@char{perceiving}{\braille{p{er}cvg}}
+\new@char{perhaps}{\braille{p{er}h}}
+\new@char{quick}{\braille{qk}}
+\new@char{receive}{\braille{rcv}}
+\new@char{receiving}{\braille{rcvg}}
+\new@char{rejoice}{\braille{rjc}}
+\new@char{rejoicing}{\braille{rjcg}}
+\new@char{said}{\braille{sd}}
+\new@char{should}{\braille{{sh}d}}
+\new@char{such}{\braille{s{ch}}}
+\new@char{themselves}{\braille{{the}mvs}}
+\new@char{thyself}{\braille{{th}yf}}
+\new@char{today}{\braille{td}}
+\new@char{together}{\braille{tgr}}
+\new@char{tomorrow}{\braille{tm}}
+\new@char{tonight}{\braille{tn}}
+\new@char{would}{\braille{wd}}
+\new@char{your}{\braille{yr}}
+\new@char{yourself}{\braille{yrf}}
+\new@char{yourselves}{\braille{yrvs}}
+
+\fi
-- 
cgit v1.2.3

