summaryrefslogtreecommitdiff
path: root/fonts/wsuipa/macros
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /fonts/wsuipa/macros
Initial commit
Diffstat (limited to 'fonts/wsuipa/macros')
-rw-r--r--fonts/wsuipa/macros/ipa.sty319
-rw-r--r--fonts/wsuipa/macros/ipalmacs.sty462
-rw-r--r--fonts/wsuipa/macros/ipamacs.tex237
-rw-r--r--fonts/wsuipa/macros/uipa.fd50
4 files changed, 1068 insertions, 0 deletions
diff --git a/fonts/wsuipa/macros/ipa.sty b/fonts/wsuipa/macros/ipa.sty
new file mode 100644
index 0000000000..0e87758dcc
--- /dev/null
+++ b/fonts/wsuipa/macros/ipa.sty
@@ -0,0 +1,319 @@
+%% Please see the file LICENCE-wsuipa.txt for licensing information.
+%%
+%% This is file `ipa.sty'
+%% Adapted from ipamacs.tex by D. Roegel (roegel@loria.fr)
+%% and Andrej Brodnik (abrodnik@watdragon.uwaterloo.ca)
+%%
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\def\fileversion{v1.0}
+\def\filedate{1994/07/16}
+\def\docdate {1994/07/16}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{ipa}[1994/07/16 IPA macros package]
+%
+%
+%% The following macro is necessary to place an accent over the
+%% character definitions below. For example, you should say:
+%% \diatop[\^|\openo]
+%%
+% \diatop is a slightly modified version of Christina Thiele's one.
+% [From {\em TeX Users Group Eighth Annual: Conference Proceedings}
+% Meeting, Seattle, August 24-26, 1987, TeXniques no. 5, (Providence,
+% 1988), p.11.]
+
+\def\diatop[#1|#2]{%
+ {\setbox1=\hbox{#1{}}% diacritic mark
+ \setbox2=\hbox{#2{}}% letter (the group {} in case it is a diacritic)
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi% compute the max width
+ % the `natural height' of diacritics is 1ex;
+ % \dimen1 is the shift upwards
+ \dimen1=\ht2\advance\dimen1by-1ex%
+ % center the diacritic mark on the width of the letter:
+ \setbox1=\hbox to\dimen0{\hss#1{}\hss}%
+ \leavevmode % force horizontal mode
+ \rlap{\raise\dimen1\box1}% the raised diacritic mark
+ \hbox to\dimen0{\hss#2\hss}% the letter
+ }%
+ }%
+
+\def\diaunder[#1|#2]{%
+ {\setbox1=\hbox{#1{}}% diacritic mark
+ \setbox2=\hbox{#2{}}% letter (the group {} in case it is a diacritic)
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi% compute the max width
+ % \dimen1 is the shift downwards
+ \dimen1=\ht2\advance\dimen1by-0.9ex%
+ % center the diacritic mark on the width of the letter:
+ \setbox1=\hbox to\dimen0{\hss#1{}\hss}%
+ \leavevmode % force horizontal mode
+ \rlap{\lower\dimen1\box1}% the lowered diacritic mark
+ \hbox to\dimen0{\hss#2\hss}% the letter
+ }%
+ }%
+
+
+%% As an alternative, you could uncomment the following two lines:
+%%
+%% \catcode`"=\active
+%% \def"#1#2{\diatop[#1|#2]}
+%%
+%% And then you could place an accent over the ipa character by
+%% calling the macro " which itself calls \diatop. For example, you
+%% would say:
+%%
+%% "\^\openo
+%%
+%% or even you could uncomment the following two lines:
+%%
+%% \catcode`_=\active
+%% \def_#1#2{\diaunder[#1|#2]}
+%%
+%% And then you could place an accent under the ipa character by
+%% calling the macro _ which itself calls \diaunder. For example, you
+%% would say:
+%%
+%% _\open{r}
+%%
+
+%% THE FOLLOWING macros access the IPA chars from the WSU IPA font
+
+\DeclareFontSubstitution{U}{ipa}{m}{n}
+\def\ipa{\protect\@pipa}
+\def\@pipa{\fontencoding{U}\fontfamily{ipa}\selectfont}
+
+% Decimal numbers were used rather than octal or hexadecimal
+% numbers, in order to be sure than it worked everywhere,
+% especially with the french package where
+% quotes can be active.
+
+%% A-type shapes:
+\def\inva{{\ipa\symbol{0}}}% '000
+\def\scripta{{\ipa\symbol{1}}}% '001
+\def\nialpha{{\ipa\symbol{2}}}% '002
+\def\invscripta{{\ipa\symbol{3}}}% '003
+\def\invv{{\ipa\symbol{4}}}% '004
+
+%% B-type shapes:
+\def\crossb{{\ipa\symbol{5}}}% '005
+\def\barb{{\ipa\symbol{6}}}% '006
+\def\slashb{{\ipa\symbol{7}}}% '007
+\def\hookb{{\ipa\symbol{8}}}% '010
+\def\nibeta{{\ipa\symbol{9}}}% '011
+
+%% C-type shapes:
+\def\slashc{{\ipa\symbol{10}}}% '012
+\def\curlyc{{\ipa\symbol{11}}}% '013
+\def\clickc{{\ipa\symbol{12}}}% '014
+
+%% D-type shapes:
+\def\crossd{{\ipa\symbol{13}}}% '015
+\def\bard{{\ipa\symbol{14}}}% '016
+\def\slashd{{\ipa\symbol{15}}}% '017
+\def\hookd{{\ipa\symbol{16}}}% '020
+\def\taild{{\ipa\symbol{17}}}% '021
+\def\dz{{\ipa\symbol{18}}}% '022
+\def\eth{{\ipa\symbol{19}}}% '023
+\def\scd{{\ipa\symbol{20}}}% '024
+
+%% E-type shapes:
+\def\schwa{{\ipa\symbol{21}}}% '025
+\def\er{{\ipa\symbol{22}}}% '026
+\def\reve{{\ipa\symbol{23}}}% '027
+\def\niepsilon{{\ipa\symbol{24}}}% '030
+\def\revepsilon{{\ipa\symbol{25}}}% '031
+\def\hookrevepsilon{{\ipa\symbol{26}}}% '032
+\def\closedrevepsilon{{\ipa\symbol{27}}}% '033
+
+%% G-type shapes:
+\def\scriptg{{\ipa\symbol{28}}}% '034
+\def\hookg{{\ipa\symbol{29}}}% '035
+\def\scg{{\ipa\symbol{30}}}% '036
+\def\nigamma{{\ipa\symbol{31}}}% '037
+\def\ipagamma{{\ipa\symbol{32}}}% '040
+\def\babygamma{{\ipa\symbol{33}}}% '041
+
+%% H-type shapes:
+\def\hv{{\ipa\symbol{34}}}% '042
+\def\crossh{{\ipa\symbol{35}}}% '043
+\def\hookh{{\ipa\symbol{36}}}% '044
+\def\hookheng{{\ipa\symbol{37}}}% '045
+\def\invh{{\ipa\symbol{38}}}% '046
+
+%% I-type shapes:
+\def\bari{{\ipa\symbol{39}}}% '047
+\def\dlbari{{\ipa\symbol{40}}}% '050 ``dotless bar i''
+\def\niiota{{\ipa\symbol{41}}}% '051
+\def\sci{{\ipa\symbol{42}}}% '052
+\def\barsci{{\ipa\symbol{43}}}% '053 ``barred small cap i''
+
+%% J-type shape:
+\def\invf{{\ipa\symbol{44}}}% '054
+
+%% L-type shapes:
+\def\tildel{{\ipa\symbol{45}}}% '055
+\def\barl{{\ipa\symbol{46}}}% '056
+\def\latfric{{\ipa\symbol{47}}}% '057
+\def\taill{{\ipa\symbol{48}}}% '060
+\def\lz{{\ipa\symbol{49}}}% '061
+\def\nilambda{{\ipa\symbol{50}}}% '062
+\def\crossnilambda{{\ipa\symbol{51}}}% '063
+
+%% M-type shapes:
+\def\labdentalnas{{\ipa\symbol{52}}}%'064
+\def\invm{{\ipa\symbol{53}}}% '065
+\def\legm{{\ipa\symbol{54}}}% '066
+
+%% N-type shapes:
+\def\nj{{\ipa\symbol{55}}}% '067
+\def\eng{{\ipa\symbol{56}}}% '070
+\def\tailn{{\ipa\symbol{57}}}% '071
+\def\scn{{\ipa\symbol{58}}}% '072
+
+%% O-type shapes:
+\def\clickb{{\ipa\symbol{59}}}% '073
+\def\baro{{\ipa\symbol{60}}}% '074
+\def\openo{{\ipa\symbol{61}}}% '075
+\def\niomega{{\ipa\symbol{62}}}% '076
+\def\closedniomega{{\ipa\symbol{63}}}% '077
+\def\oo{{\ipa\symbol{64}}}% '100
+
+%% P-type shapes:
+\def\barp{{\ipa\symbol{65}}}% '101
+\def\thorn{{\ipa\symbol{66}}}% '102
+\def\niphi{{\ipa\symbol{67}}}% '103
+
+%% R-type shapes:
+\def\flapr{{\ipa\symbol{68}}}% '104
+\def\legr{{\ipa\symbol{69}}}% '105
+\def\tailr{{\ipa\symbol{70}}}% '106
+\def\invr{{\ipa\symbol{71}}}% '107
+\def\tailinvr{{\ipa\symbol{72}}}% '110
+\def\invlegr{{\ipa\symbol{73}}}% '111
+\def\scr{{\ipa\symbol{74}}}% '112
+\def\invscr{{\ipa\symbol{75}}}% '113
+
+%% S-type shapes:
+\def\tails{{\ipa\symbol{76}}}% '114
+\def\esh{{\ipa\symbol{77}}}% '115
+\def\curlyesh{{\ipa\symbol{78}}}% '116
+\def\nisigma{{\ipa\symbol{79}}}% '117
+
+%% T-type shapes:
+\def\tailt{{\ipa\symbol{80}}}% '120
+\def\tesh{{\ipa\symbol{81}}}% '121
+\def\clickt{{\ipa\symbol{82}}}% '122
+\def\nitheta{{\ipa\symbol{83}}}% '123
+
+%% U-type shapes:
+\def\baru{{\ipa\symbol{84}}}% '124
+\def\slashu{{\ipa\symbol{85}}}% '125
+\def\niupsilon{{\ipa\symbol{86}}}% '126
+\def\scu{{\ipa\symbol{87}}}% '127
+\def\barscu{{\ipa\symbol{88}}}% '130
+
+%% V-type shape:
+\def\scriptv{{\ipa\symbol{89}}}% '131
+
+%% W-type shape:
+\def\invw{{\ipa\symbol{90}}}% '132
+
+%% X-type shape:
+\def\nichi{{\ipa\symbol{91}}}% '133
+
+%% Y-type shapes:
+\def\invy{{\ipa\symbol{92}}}% '134
+\def\scy{{\ipa\symbol{93}}}% '135
+
+%% Z-type shapes:
+\def\curlyz{{\ipa\symbol{94}}}% '136
+\def\tailz{{\ipa\symbol{95}}}% '137
+\def\yogh{{\ipa\symbol{96}}}% '140
+\def\curlyyogh{{\ipa\symbol{97}}}% '141
+
+%% ?-type shapes:
+\def\glotstop{{\ipa\symbol{98}}}% '142
+\def\revglotstop{{\ipa\symbol{99}}}% '143
+\def\invglotstop{{\ipa\symbol{100}}}%'144
+\def\ejective{{\ipa\symbol{101}}}% '145
+\def\reveject{{\ipa\symbol{102}}}% '146
+
+%% AND that should be it, as far as actual characters go.
+%%
+%% THE following is the set of diacritics. Please try to get
+%% the 4 t-bars lined up above the 4 pointers, so you may
+%% have to reshuffle things a bit. Not to worry too much. I
+%% think the diacritics can be grouped more according to
+%% shape, so comma-like things are together, etc.
+%%
+
+\def\dental#1{\oalign{#1\crcr
+ \hidewidth{\ipa\symbol{103}}\hidewidth}}% '147
+
+\def\upt{{\ipa\symbol{108}}}% '154 These are IPA pointers
+\def\downt{{\ipa\symbol{109}}}% '155
+\def\leftt{{\ipa\symbol{110}}}% '156
+\def\rightt{{\ipa\symbol{111}}}% '157
+
+ % These are American versions of t-bars
+\def\upp{{\ipa\symbol{116}}}% '164
+\def\downp{{\ipa\symbol{117}}}% '165
+\def\leftp{{\ipa\symbol{118}}}% '166
+\def\rightp{{\ipa\symbol{119}}}% '167
+
+\def\stress{{\ipa\symbol{104}}}% '150 primary stress
+\def\secstress{{\ipa\symbol{105}}}% '151 secondary stress
+
+\def\syllabic{{\ipa\symbol{106}}}% '152 syllabic marker
+
+\def\corner{{\ipa\symbol{107}}}% '153
+
+ % American equivalent: raised dot
+\def\halflength{{\ipa\symbol{112}}}% '160
+ % American equivalent: colon
+\def\length{{\ipa\symbol{113}}}% '161
+
+\def\underdots{{\ipa\symbol{114}}}% '162
+
+ % ``reversed apostrophe'', p. 216
+\def\ain{{\ipa\symbol{115}}}% '163
+
+\def\overring{{\ipa\symbol{120}}}% '170
+\def\underring{{\ipa\symbol{121}}}% '171
+
+\def\open{{\ipa\symbol{122}}}% '172
+
+\def\midtilde{{\ipa\symbol{123}}}% '173
+\def\undertilde{{\ipa\symbol{124}}}% '174
+
+\def\underwedge{{\ipa\symbol{125}}}% '175
+
+\def\polishhook{{\ipa\symbol{126}}}% '176
+
+\def\underarch#1{\oalign{#1\crcr
+ \hidewidth{\ipa\symbol{127}}\hidewidth}}% '177
+
+%% AND that's it for the diacritics.
+
+\endinput
+%%
+%% End of file `ipa.sty'.
+
+
+
+
+
+
diff --git a/fonts/wsuipa/macros/ipalmacs.sty b/fonts/wsuipa/macros/ipalmacs.sty
new file mode 100644
index 0000000000..d1bedd3a0e
--- /dev/null
+++ b/fonts/wsuipa/macros/ipalmacs.sty
@@ -0,0 +1,462 @@
+% ipalmacs.sty
+\def\filedate{22-APR-1992}
+\def\fileversion{1.0}
+%
+% Using the wsuipa International Phonetic Alphabet Fonts with LaTeX
+% and the New Font Selection Scheme (NFSS)
+%
+% (c) 1992 by J"org Knappen
+% Usage conditions: GNU licence v1.0
+% using ipamacs.tex
+
+\@ifundefined{extract@font}
+ {\errmessage{The style option `ipalmacs' does not make sense if you
+ do not use a format with the new font selection scheme.}
+ \endinput}
+ {}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% %%
+%% Washington State University International Phonetic Alphabet family %%
+%% %%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\new@fontshape{wsuipa}{m}{n}{%
+ <5>wsuipa5%
+ <6>wsuipa6%
+ <7>wsuipa7%
+ <8>wsuipa8%
+ <9>wsuipa9%
+ <10>wsuipa10%
+ <11>wsuipa11%
+ <12>wsuipa12%
+ <14>wsuipa12 at14.4pt%
+ <17>wsuipa17%
+ <20>wsuipa17 at20.74pt%
+ <25>wsuipa17 at24.88pt}{}
+
+\new@fontshape{wsuipa}{m}{sl}{%
+ <5>wslipa5%
+ <6>wslipa6%
+ <7>wslipa7%
+ <8>wslipa8%
+ <9>wslipa9%
+ <10>wslipa10%
+ <11>wslipa11%
+ <12>wslipa12%
+ <14>wslipa12 at14.4pt%
+ <17>wslipa17%
+ <20>wslipa17 at20.74pt%
+ <25>wslipa17 at24.88pt}{}
+
+%%%%%%%%%%%%% bold series
+
+\new@fontshape{wsuipa}{bx}{n}{%
+ <5>wbxipa5%
+ <6>wbxipa6%
+ <7>wbxipa7%
+ <8>wbxipa8%
+ <9>wbxipa9%
+ <10>wbxipa10%
+ <11>wbxipa11%
+ <12>wbxipa12%
+ <14>wbxipa12 at14.4pt%
+ <17>wbxipa17%
+ <20>wbxipa17 at20.74pt%
+ <25>wbxipa17 at24.88pt}{}
+
+\subst@fontshape{wsuipa}{m}{it}{wsuipa}{m}{sl} % slanted for italic
+\subst@fontshape{wsuipa}{bx}{it}{wsuipa}{m}{sl} % medium slanted for bold italic
+\subst@fontshape{wsuipa}{m}{sc}{wsuipa}{m}{n} % normal for caps & small caps
+
+\extra@def{wsuipa}{}{}
+
+\def\pipa{\family{wsuipa}\selectfont}
+\def\ipa{\protect\pipa}
+
+% Here are some special accenting macros, which allow multiple accenting
+% \oaccent{#1}{#2} sets accent #1 over #2
+% \uaccent{#1}{#2} sets diacritic #1 below #2. #1 should not ascend the
+% baseline in this case. (e.g. \polishhook)
+% \taccent{#1}{#2} sets diacritic #1 (which is designed to go UNDER something}
+% over #2
+\def\poaccent#1#2{\leavevmode
+ {\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
+ \dimen1=\ht2\advance\dimen1by-1ex%
+ \setbox1=\hbox to1\dimen0{\hss#1\hss}%
+ \rlap{\raise1\dimen1\box1}%
+ \hbox to1\dimen0{\hss#2\hss}}}%
+\def\oaccent{\protect\poaccent}
+
+\def\puaccent#1#2{\leavevmode
+ {\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
+ \dimen1=-\dp2%
+ \setbox1=\hbox to1\dimen0{\hss#1\hss}%
+ \rlap{\raise1\dimen1\box1}%
+ \hbox to1\dimen0{\hss#2\hss}}}%
+\def\uaccent{\protect\puaccent}
+
+\def\ptaccent#1#2{\leavevmode
+ {\tabskip=0pt\offinterlineskip\vbox{\halign{\hfil##\hfil\cr
+ #1\cr#2\cr}}}}
+\def\taccent{\protect\ptaccent}
+
+% \diatop from ipamacs kept for compatibility. Fragile!
+% added \leavevmode (22. 4. 1992 JK)
+%% The following macro is necessary to place an accent over the
+%% character definitions below. For example, you should say:
+%% \diatop[\^º\openo]
+%%
+
+\def\diatop[#1º#2]{\leavevmode
+ {\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
+ \dimen1=\ht2\advance\dimen1by-1ex%
+ \setbox1=\hbox to1\dimen0{\hss#1\hss}%
+ \rlap{\raise1\dimen1\box1}%
+ \hbox to1\dimen0{\hss#2\hss}}}%
+
+% The following commands are from ipamacs.tex
+% changed \next to \NEXT (20. 4. 1992 JK)
+% \protect'ed all the commands (20. 4. 1992 JK)
+
+%% A-type shapes:
+\def\pinva{\edef\NEXT{\the\font}\ipa\char'000\NEXT}%
+\def\inva{\protect\inva}
+\def\pscripta{\edef\NEXT{\the\font}\ipa\char'001\NEXT}%
+\def\scripta{\protect\pscripta}
+\def\pnialpha{\edef\NEXT{\the\font}\ipa\char'002\NEXT}%
+\def\nialpha{\protect\pnialpha}
+\def\pinvscripta{\edef\NEXT{\the\font}\ipa\char'003\NEXT}%
+\def\invscripta{\protect\scripta}
+\def\pinvv{\edef\NEXT{\the\font}\ipa\char'004\NEXT}%
+\def\invv{\protect\invv}
+
+%% B-type shapes:
+\def\pcrossb{\edef\NEXT{\the\font}\ipa\char'005\NEXT}%
+\def\crossb{\protect\pcrossb}
+\def\pbarb{\edef\NEXT{\the\font}\ipa\char'006\NEXT}%
+\def\barb{\protect\pbarb}
+\def\pslashb{\edef\NEXT{\the\font}\ipa\char'007\NEXT}%
+\def\slashb{\protect\pslashb}
+\def\phookb{\edef\NEXT{\the\font}\ipa\char'010\NEXT}%
+\def\hookb{\protect\phookb}
+\def\pnibeta{\edef\NEXT{\the\font}\ipa\char'011\NEXT}%
+\def\nibeta{\protect\pnibeta}
+
+%% C-type shapes:
+\def\pslashc{\edef\NEXT{\the\font}\ipa\char'012\NEXT}%
+\def\slashc{\protect\pslashc}
+\def\pcurlyc{\edef\NEXT{\the\font}\ipa\char'013\NEXT}%
+\def\curlyc{\protect\pcurlyc}
+\def\pclickc{\edef\NEXT{\the\font}\ipa\char'014\NEXT}%
+\def\clickc{\protect\pclickc}
+
+%% D-type shapes:
+\def\pcrossd{\edef\NEXT{\the\font}\ipa\char'015\NEXT}%
+\def\crossd{\protect\pcrossd}
+\def\pbard{\edef\NEXT{\the\font}\ipa\char'016\NEXT}%
+\def\bard{\protect\pbard}
+\def\pslashd{\edef\NEXT{\the\font}\ipa\char'017\NEXT}%
+\def\slashd{\protect\pslashd}
+\def\phookd{\edef\NEXT{\the\font}\ipa\char'020\NEXT}%
+\def\hookd{\protect\phookd}
+\def\ptaild{\edef\NEXT{\the\font}\ipa\char'021\NEXT}%
+\def\taild{\protect\ptaild}
+\def\pdz{\edef\NEXT{\the\font}\ipa\char'022\NEXT}%
+\def\dz{\protect\pdz}
+\def\peth{\edef\NEXT{\the\font}\ipa\char'023\NEXT}%
+\def\eth{\protect\peth}
+\def\pscd{\edef\NEXT{\the\font}\ipa\char'024\NEXT}%
+\def\scd{\protect\pscd}
+
+%% E-type shapes:
+\def\pschwa{\edef\NEXT{\the\font}\ipa\char'025\NEXT}%
+\def\schwa{\protect\pschwa}
+\def\per{\edef\NEXT{\the\font}\ipa\char'026\NEXT}%
+\def\er{\protect\per}
+\def\preve{\edef\NEXT{\the\font}\ipa\char'027\NEXT}%
+\def\reve{\protect\preve}
+\def\pniepsilon{\edef\NEXT{\the\font}\ipa\char'030\NEXT}%
+\def\niepsilon{\protect\pniepsilon}
+\def\prevepsilon{\edef\NEXT{\the\font}\ipa\char'031\NEXT}%
+\def\revepsilon{\protect\prevepsilon}
+\def\phookrevepsilon{\edef\NEXT{\the\font}\ipa\char'032\NEXT}%
+\def\hookrevepsilon{\protect\phookrevepsilon}
+\def\pclosedrevepsilon{\edef\NEXT{\the\font}\ipa\char'033\NEXT}%
+\def\closedrevepsilon{\protect\pclosedrevepsilon}
+
+%% G-type shapes:
+\def\pscriptg{\edef\NEXT{\the\font}\ipa\char'034\NEXT}%
+\def\scriptg{\protect\pscriptg}
+\def\phookg{\edef\NEXT{\the\font}\ipa\char'035\NEXT}%
+\def\hookg{\protect\phookg}
+\def\pscg{\edef\NEXT{\the\font}\ipa\char'036\NEXT}%
+\def\scg{\protect\pscg}
+\def\pnigamma{\edef\NEXT{\the\font}\ipa\char'037\NEXT}
+\def\nigamma{\protect\pnigamma}
+\def\pipagamma{\edef\NEXT{\the\font}\ipa\char'040\NEXT}%
+\def\ipagamma{\protect\pipagamma}
+\def\pbabygamma{\edef\NEXT{\the\font}\ipa\char'041\NEXT}%
+\def\babygamma{\protect\pbabygamma}
+
+%% H-type shapes:
+\def\phv{\edef\NEXT{\the\font}\ipa\char'042\NEXT}%
+\def\hv{\protect\phv}
+\def\pcrossh{\edef\NEXT{\the\font}\ipa\char'043\NEXT}%
+\def\crossh{\protect\pcrossh}
+\def\phookh{\edef\NEXT{\the\font}\ipa\char'044\NEXT}%
+\def\hookh{\protect\phookh}
+\def\phookheng{\edef\NEXT{\the\font}\ipa\char'045\NEXT}%
+\def\hookheng{\protect\phookheng}
+\def\pinvh{\edef\NEXT{\the\font}\ipa\char'046\NEXT}%
+\def\invh{\protect\pinvh}
+
+%% I-type shapes:
+\def\pbari{\edef\NEXT{\the\font}\ipa\char'047\NEXT}%
+\def\bari{\protect\pbari}
+\def\pdlbari{\edef\NEXT{\the\font}\ipa\char'050\NEXT}% ``dotless bar i''
+\def\dlbari{\protect\pdlbari}
+\def\pniiota{\edef\NEXT{\the\font}\ipa\char'051\NEXT}%
+\def\niiota{\protect\pniiota}
+\def\psci{\edef\NEXT{\the\font}\ipa\char'052\NEXT}%
+\def\sci{\protect\psci}
+\def\pbarsci{\edef\NEXT{\the\font}\ipa\char'053\NEXT}% ``barred small cap i''
+\def\barsci{\protect\pbarsci}
+
+%% J-type shape:
+\def\pinvf{\edef\NEXT{\the\font}\ipa\char'054\NEXT}%
+\def\invf{\protect\pinvf}
+
+%% L-type shapes:
+\def\ptildel{\edef\NEXT{\the\font}\ipa\char'055\NEXT}%
+\def\tildel{\protect\ptildel}
+\def\pbarl{\edef\NEXT{\the\font}\ipa\char'056\NEXT}%
+\def\barl{\protect\pbarl}
+\def\platfric{\edef\NEXT{\the\font}\ipa\char'057\NEXT}%
+\def\latfric{\protect\platfric}
+\def\ptaill{\edef\NEXT{\the\font}\ipa\char'060\NEXT}%
+\def\taill{\protect\ptaill}
+\def\plz{\edef\NEXT{\the\font}\ipa\char'061\NEXT}%
+\def\lz{\protect\plz}
+\def\pnilambda{\edef\NEXT{\the\font}\ipa\char'062\NEXT}%
+\def\nilambda{\protect\pnilambda}
+\def\pcrossnilambda{\edef\NEXT{\the\font}\ipa\char'063\NEXT}%
+\def\crossnilambda{\protect\pcrossnilambda}
+
+%% M-type shapes:
+\def\plabdentalnas{\edef\NEXT{\the\font}\ipa\char'064\NEXT}%
+\def\labdentalnas{\protect\plabdentalnas}
+\def\pinvm{\edef\NEXT{\the\font}\ipa\char'065\NEXT}%
+\def\invm{\protect\pinvm}
+\def\plegm{\edef\NEXT{\the\font}\ipa\char'066\NEXT}%
+\def\legm{\protect\plegm}
+
+%% N-type shapes:
+\def\pnj{\edef\NEXT{\the\font}\ipa\char'067\NEXT}%
+\def\nj{\protect\pnj}
+\def\peng{\edef\NEXT{\the\font}\ipa\char'070\NEXT}%
+\def\eng{\protect\peng}
+\def\ptailn{\edef\NEXT{\the\font}\ipa\char'071\NEXT}%
+\def\tailn{\protect\ptailn}
+\def\pscn{\edef\NEXT{\the\font}\ipa\char'072\NEXT}%
+\def\scn{\protect\pscn}
+
+%% O-type shapes:
+\def\pclickb{\edef\NEXT{\the\font}\ipa\char'073\NEXT}%
+\def\clickp{\protect\pclickp}
+\def\pbaro{\edef\NEXT{\the\font}\ipa\char'074\NEXT}%
+\def\baro{\protect\pbaro}
+\def\popeno{\edef\NEXT{\the\font}\ipa\char'075\NEXT}%
+\def\openo{\protect\popeno}
+\def\pniomega{\edef\NEXT{\the\font}\ipa\char'076\NEXT}%
+\def\niomega{\protect\pniomega}
+\def\pclosedniomega{\edef\NEXT{\the\font}\ipa\char'077\NEXT}%
+\def\closedniomega{\protect\pclosedniomega}
+\def\poo{\edef\NEXT{\the\font}\ipa\char'100\NEXT}%
+\def\oo{\protect\poo}
+
+%% P-type shapes:
+\def\pbarp{\edef\NEXT{\the\font}\ipa\char'101\NEXT}%
+\def\barp{\protect\pbarp}
+\def\pthorn{\edef\NEXT{\the\font}\ipa\char'102\NEXT}%
+\def\thorn{\protect\pthorn}
+\def\pniphi{\edef\NEXT{\the\font}\ipa\char'103\NEXT}%
+\def\niphi{\protect\pniphi}
+
+%% Q-type shapes: (none)
+
+%% R-type shapes:
+\def\pflapr{\edef\NEXT{\the\font}\ipa\char'104\NEXT}%
+\def\flabr{\protect\pflabr}
+\def\plegr{\edef\NEXT{\the\font}\ipa\char'105\NEXT}%
+\def\legr{\protect\plegr}
+\def\ptailr{\edef\NEXT{\the\font}\ipa\char'106\NEXT}%
+\def\tailr{\protect\ptailr}
+\def\pinvr{\edef\NEXT{\the\font}\ipa\char'107\NEXT}%
+\def\invr{\protect\pinvr}
+\def\ptailinvr{\edef\NEXT{\the\font}\ipa\char'110\NEXT}%
+\def\tailinvr{\protect\ptailinvr}
+\def\pinvlegr{\edef\NEXT{\the\font}\ipa\char'111\NEXT}%
+\def\invlegr{\protect\pinvlegr}
+\def\pscr{\edef\NEXT{\the\font}\ipa\char'112\NEXT}%
+\def\scr{\protect\pscr}
+\def\pinvscr{\edef\NEXT{\the\font}\ipa\char'113\NEXT}%
+\def\invscr{\protect\pinvscr}
+
+%% S-type shapes:
+\def\ptails{\edef\NEXT{\the\font}\ipa\char'114\NEXT}%
+\def\tails{\protect\ptails}
+\def\pesh{\edef\NEXT{\the\font}\ipa\char'115\NEXT}%
+\def\esh{\protect\pesh}
+\def\pcurlyesh{\edef\NEXT{\the\font}\ipa\char'116\NEXT}%
+\def\curlyesh{\protect\pcurlyesh}
+\def\pnisigma{\edef\NEXT{\the\font}\ipa\char'117\NEXT}%
+\def\nisigma{\protect\pnisigma}
+
+%% T-type shapes:
+\def\ptailt{\edef\NEXT{\the\font}\ipa\char'120\NEXT}%
+\def\tailt{\protect\ptailt}
+\def\ptesh{\edef\NEXT{\the\font}\ipa\char'121\NEXT}%
+\def\tesh{\protect\ptesh}
+\def\pclickt{\edef\NEXT{\the\font}\ipa\char'122\NEXT}%
+\def\clickt{\protect\pclickt}
+\def\pnitheta{\edef\NEXT{\the\font}\ipa\char'123\NEXT}%
+\def\nitheta{\protect\pnitheta}
+
+%% U-type shapes:
+\def\pbaru{\edef\NEXT{\the\font}\ipa\char'124\NEXT}%
+\def\baru{\protect\pbaru}
+\def\pslashu{\edef\NEXT{\the\font}\ipa\char'125\NEXT}%
+\def\slashu{\protect\pslashu}
+\def\pniupsilon{\edef\NEXT{\the\font}\ipa\char'126\NEXT}%
+\def\niupsi;on{\protect\pniupsilon}
+\def\pscu{\edef\NEXT{\the\font}\ipa\char'127\NEXT}%
+\def\scu{\protect\pscu}
+\def\pbarscu{\edef\NEXT{\the\font}\ipa\char'130\NEXT}%
+\def\barscu{\protect\pbarscu}
+
+%% V-type shape:
+\def\pscriptv{\edef\NEXT{\the\font}\ipa\char'131\NEXT}%
+\def\scriptv{\protect\pscriptv}
+
+%% W-type shape:
+\def\pinvw{\edef\NEXT{\the\font}\ipa\char'132\NEXT}%
+\def\invw{\protect\pinvw}
+
+%% X-type shape:
+\def\pnichi{\edef\NEXT{\the\font}\ipa\char'133\NEXT}%
+\def\nichi{\protect\pnichi}
+
+%% Y-type shapes:
+\def\pinvy{\edef\NEXT{\the\font}\ipa\char'134\NEXT}%
+\def\invy{\protect\pinvy}
+\def\pscy{\edef\NEXT{\the\font}\ipa\char'135\NEXT}%
+\def\scy{\protect\pscy}
+
+%% Z-type shapes:
+\def\pcurlyz{\edef\NEXT{\the\font}\ipa\char'136\NEXT}%
+\def\curlyz{\protect\pcurlyz}
+\def\ptailz{\edef\NEXT{\the\font}\ipa\char'137\NEXT}%
+\def\tailz{\protect\ptailz}
+\def\pyogh{\edef\NEXT{\the\font}\ipa\char'140\NEXT}%
+\def\yogh{\protect\pyogh}
+\def\pcurlyyogh{\edef\NEXT{\the\font}\ipa\char'141\NEXT}%
+\def\curlyyogh{\protect\pcurlyyogh}
+
+%% ?-type shapes:
+\def\pglotstop{\edef\NEXT{\the\font}\ipa\char'142\NEXT}%
+\def\glotstop{\protect\pglotstop}
+\def\prevglotstop{\edef\NEXT{\the\font}\ipa\char'143\NEXT}%
+\def\revglotstop{\protect\prevglotstop}
+\def\pinvglotstop{\edef\NEXT{\the\font}\ipa\char'144\NEXT}%
+\def\invglotstop{\protect\pinvglotstop}
+\def\pejective{\edef\NEXT{\the\font}\ipa\char'145\NEXT}%
+\def\ejective{\protect\pejective}
+\def\preveject{\edef\NEXT{\the\font}\ipa\char'146\NEXT}%
+\def\reveject{\protect\preveject}
+
+%% AND that should be it, as far as actual characters go.
+%%
+%% THE following is the set of diacritics. Please try to get
+%% the 4 t-bars lined up above the 4 pointers, so you may
+%% have to reshuffle things a bit. Not to worry too much. I
+%% think the diacritics can be grouped more according to
+%% shape, so comma-like things are together, etc.
+%%
+
+\def\pdental#1{\oalign{#1\crcr
+ \hidewidth{\ipa\char'147}\hidewidth}}
+\def\dental{\protect\pdental}
+
+\def\pupt{\edef\NEXT{\the\font}\ipa\char'154\NEXT}% These are IPA pointers
+\def\upt{\protect\pupt}
+\def\pdownt{\edef\NEXT{\the\font}\ipa\char'155\NEXT}%
+\def\downt{\protect\pdownt}
+\def\pleftt{\edef\NEXT{\the\font}\ipa\char'156\NEXT}%
+\def\leftt{\protect\pleftt}
+\def\prightt{\edef\NEXT{\the\font}\ipa\char'157\NEXT}%
+\def\rightt{\protect\prightt}
+
+ % These are American versions of t-bars
+\def\pupp{\edef\NEXT{\the\font}\ipa\char'164\NEXT}
+\def\upp{\protect\pupp}
+\def\pdownp{\edef\NEXT{\the\font}\ipa\char'165\NEXT}%
+\def\downp{\protect\pdownp}
+\def\pleftp{\edef\NEXT{\the\font}\ipa\char'166\NEXT}%
+\def\leftp{\protect\pleftp}
+\def\prightp{\edef\NEXT{\the\font}\ipa\char'167\NEXT}%
+\def\rightp{\protect\prightp}
+
+\def\pstress{\edef\NEXT{\the\font}\ipa\char'150\NEXT}% primary stress
+\def\stress{\protect\pstress}
+\def\psecstress{\edef\NEXT{\the\font}\ipa\char'151\NEXT}% secondary stress
+\def\secstress{\protect\psecstress}
+
+\def\psyllabic{\edef\NEXT{\the\font}\ipa\char'152\NEXT}% syllabic marker
+\def\syllabic{\protect\psyllabic}
+
+\def\pcorner{\edef\NEXT{\the\font}\ipa\char'153\NEXT}%
+\def\corner{\protect\pcorner}
+
+ % American equivalent: raised dot
+\def\phalflength{\edef\NEXT{\the\font}\ipa\char'160\NEXT}
+\def\halflength{\protect\phalflength}
+ % American equivalent: colon
+\def\plength{\edef\NEXT{\the\font}\ipa\char'161\NEXT}
+\def\length{\protect\plength}
+
+\def\punderdots{\edef\NEXT{\the\font}\ipa\char'162\NEXT}%
+\def\underdots{\protect\punderdots}
+
+ % ``reversed apostrophe'', p. 216
+\def\pain{\edef\NEXT{\the\font}\ipa\char'163\NEXT}
+\def\ain{\protect\pain}
+
+\def\poverring{\edef\NEXT{\the\font}\ipa\char'170\NEXT}%
+\def\overring{\protect\poverring}
+\def\punderring{\edef\NEXT{\the\font}\ipa\char'171\NEXT}%
+\def\underring{\protect\punderring}
+
+\def\popen{\edef\NEXT{\the\font}\ipa\char'172\NEXT}%
+\def\open{\protect\popen}
+
+\def\pmidtilde{\edef\NEXT{\the\font}\ipa\char'173\NEXT}%
+\def\midtilde{\protect\pmidtilde}
+\def\pundertilde{\edef\NEXT{\the\font}\ipa\char'174\NEXT}%
+\def\undertilde{\protect\pundertilde}
+
+\def\punderwedge{\edef\NEXT{\the\font}\ipa\char'175\NEXT}%
+\def\underwedge{\protect\punderwedge}
+
+\def\ppolishhook{\edef\NEXT{\the\font}\ipa\char'176\NEXT}%
+\def\polishhook{\protect\ppolishhook}
+
+\def\punderarch#1{\oalign{#1\crcr
+ \hidewidth{\ipa\char'177}\hidewidth}}
+\def\underarch{\protect\punderarch}
+
+%% AND that's it for the diacritics.
+
+\endinput
diff --git a/fonts/wsuipa/macros/ipamacs.tex b/fonts/wsuipa/macros/ipamacs.tex
new file mode 100644
index 0000000000..ab16eea686
--- /dev/null
+++ b/fonts/wsuipa/macros/ipamacs.tex
@@ -0,0 +1,237 @@
+%% Please see the file LICENCE-wsuipa.txt for licensing information.
+%%
+%% The following macro is necessary to place an accent over the
+%% character definitions below. For example, you should say:
+%% \diatop[\^|\openo]
+%%
+
+\def\diatop[#1|#2]{{\setbox1=\hbox{{#1{}}}\setbox2=\hbox{{#2{}}}%
+ \dimen0=\ifdim\wd1>\wd2\wd1\else\wd2\fi%
+ \dimen1=\ht2\advance\dimen1by-1ex%
+ \setbox1=\hbox to1\dimen0{\hss#1\hss}%
+ \rlap{\raise1\dimen1\box1}%
+ \hbox to1\dimen0{\hss#2\hss}}}%
+
+%% As an alternative, you could uncomment the following two lines:
+%%
+%% \catcode`"=\active
+%% \def"#1#2{\diatop[#1|#2]}
+%%
+%% And then you could place an accent over the ipa character by
+%% calling the macro " which itself calls \diatop. For example, you
+%% would say:
+%%
+%% "\^\openo
+
+%% THE FOLLOWING macros access the IPA chars from the WSU IPA font
+
+\font\ipatwelverm=wsuipa12
+\def\ipa{\ipatwelverm}
+
+%% A-type shapes:
+\def\inva{\edef\next{\the\font}\ipa\char'000\next}%
+\def\scripta{\edef\next{\the\font}\ipa\char'001\next}%
+\def\nialpha{\edef\next{\the\font}\ipa\char'002\next}%
+\def\invscripta{\edef\next{\the\font}\ipa\char'003\next}%
+\def\invv{\edef\next{\the\font}\ipa\char'004\next}%
+
+%% B-type shapes:
+\def\crossb{\edef\next{\the\font}\ipa\char'005\next}%
+\def\barb{\edef\next{\the\font}\ipa\char'006\next}%
+\def\slashb{\edef\next{\the\font}\ipa\char'007\next}%
+\def\hookb{\edef\next{\the\font}\ipa\char'010\next}%
+\def\nibeta{\edef\next{\the\font}\ipa\char'011\next}%
+
+%% C-type shapes:
+\def\slashc{\edef\next{\the\font}\ipa\char'012\next}%
+\def\curlyc{\edef\next{\the\font}\ipa\char'013\next}%
+\def\clickc{\edef\next{\the\font}\ipa\char'014\next}%
+
+%% D-type shapes:
+\def\crossd{\edef\next{\the\font}\ipa\char'015\next}%
+\def\bard{\edef\next{\the\font}\ipa\char'016\next}%
+\def\slashd{\edef\next{\the\font}\ipa\char'017\next}%
+\def\hookd{\edef\next{\the\font}\ipa\char'020\next}%
+\def\taild{\edef\next{\the\font}\ipa\char'021\next}%
+\def\dz{\edef\next{\the\font}\ipa\char'022\next}%
+\def\eth{\edef\next{\the\font}\ipa\char'023\next}%
+\def\scd{\edef\next{\the\font}\ipa\char'024\next}%
+
+%% E-type shapes:
+\def\schwa{\edef\next{\the\font}\ipa\char'025\next}%
+\def\er{\edef\next{\the\font}\ipa\char'026\next}%
+\def\reve{\edef\next{\the\font}\ipa\char'027\next}%
+\def\niepsilon{\edef\next{\the\font}\ipa\char'030\next}%
+\def\revepsilon{\edef\next{\the\font}\ipa\char'031\next}%
+\def\hookrevepsilon{\edef\next{\the\font}\ipa\char'032\next}%
+\def\closedrevepsilon{\edef\next{\the\font}\ipa\char'033\next}%
+
+%% G-type shapes:
+\def\scriptg{\edef\next{\the\font}\ipa\char'034\next}%
+\def\hookg{\edef\next{\the\font}\ipa\char'035\next}%
+\def\scg{\edef\next{\the\font}\ipa\char'036\next}%
+\def\nigamma{\edef\next{\the\font}\ipa\char'037\next}
+\def\ipagamma{\edef\next{\the\font}\ipa\char'040\next}%
+\def\babygamma{\edef\next{\the\font}\ipa\char'041\next}%
+
+%% H-type shapes:
+\def\hv{\edef\next{\the\font}\ipa\char'042\next}%
+\def\crossh{\edef\next{\the\font}\ipa\char'043\next}%
+\def\hookh{\edef\next{\the\font}\ipa\char'044\next}%
+\def\hookheng{\edef\next{\the\font}\ipa\char'045\next}%
+\def\invh{\edef\next{\the\font}\ipa\char'046\next}%
+
+%% I-type shapes:
+\def\bari{\edef\next{\the\font}\ipa\char'047\next}%
+\def\dlbari{\edef\next{\the\font}\ipa\char'050\next}% ``dotless bar i''
+\def\niiota{\edef\next{\the\font}\ipa\char'051\next}%
+\def\sci{\edef\next{\the\font}\ipa\char'052\next}%
+\def\barsci{\edef\next{\the\font}\ipa\char'053\next}% ``barred small cap i''
+
+%% J-type shape:
+\def\invf{\edef\next{\the\font}\ipa\char'054\next}%
+
+%% L-type shapes:
+\def\tildel{\edef\next{\the\font}\ipa\char'055\next}%
+\def\barl{\edef\next{\the\font}\ipa\char'056\next}%
+\def\latfric{\edef\next{\the\font}\ipa\char'057\next}%
+\def\taill{\edef\next{\the\font}\ipa\char'060\next}%
+\def\lz{\edef\next{\the\font}\ipa\char'061\next}%
+\def\nilambda{\edef\next{\the\font}\ipa\char'062\next}%
+\def\crossnilambda{\edef\next{\the\font}\ipa\char'063\next}%
+
+%% M-type shapes:
+\def\labdentalnas{\edef\next{\the\font}\ipa\char'064\next}%
+\def\invm{\edef\next{\the\font}\ipa\char'065\next}%
+\def\legm{\edef\next{\the\font}\ipa\char'066\next}%
+
+%% N-type shapes:
+\def\nj{\edef\next{\the\font}\ipa\char'067\next}%
+\def\eng{\edef\next{\the\font}\ipa\char'070\next}%
+\def\tailn{\edef\next{\the\font}\ipa\char'071\next}%
+\def\scn{\edef\next{\the\font}\ipa\char'072\next}%
+
+%% O-type shapes:
+\def\clickb{\edef\next{\the\font}\ipa\char'073\next}%
+\def\baro{\edef\next{\the\font}\ipa\char'074\next}%
+\def\openo{\edef\next{\the\font}\ipa\char'075\next}%
+\def\niomega{\edef\next{\the\font}\ipa\char'076\next}%
+\def\closedniomega{\edef\next{\the\font}\ipa\char'077\next}%
+\def\oo{\edef\next{\the\font}\ipa\char'100\next}%
+
+%% P-type shapes:
+\def\barp{\edef\next{\the\font}\ipa\char'101\next}%
+\def\thorn{\edef\next{\the\font}\ipa\char'102\next}%
+\def\niphi{\edef\next{\the\font}\ipa\char'103\next}%
+
+%% R-type shapes:
+\def\flapr{\edef\next{\the\font}\ipa\char'104\next}%
+\def\legr{\edef\next{\the\font}\ipa\char'105\next}%
+\def\tailr{\edef\next{\the\font}\ipa\char'106\next}%
+\def\invr{\edef\next{\the\font}\ipa\char'107\next}%
+\def\tailinvr{\edef\next{\the\font}\ipa\char'110\next}%
+\def\invlegr{\edef\next{\the\font}\ipa\char'111\next}%
+\def\scr{\edef\next{\the\font}\ipa\char'112\next}%
+\def\invscr{\edef\next{\the\font}\ipa\char'113\next}%
+
+%% S-type shapes:
+\def\tails{\edef\next{\the\font}\ipa\char'114\next}%
+\def\esh{\edef\next{\the\font}\ipa\char'115\next}%
+\def\curlyesh{\edef\next{\the\font}\ipa\char'116\next}%
+\def\nisigma{\edef\next{\the\font}\ipa\char'117\next}%
+
+%% T-type shapes:
+\def\tailt{\edef\next{\the\font}\ipa\char'120\next}%
+\def\tesh{\edef\next{\the\font}\ipa\char'121\next}%
+\def\clickt{\edef\next{\the\font}\ipa\char'122\next}%
+\def\nitheta{\edef\next{\the\font}\ipa\char'123\next}%
+
+%% U-type shapes:
+\def\baru{\edef\next{\the\font}\ipa\char'124\next}%
+\def\slashu{\edef\next{\the\font}\ipa\char'125\next}%
+\def\niupsilon{\edef\next{\the\font}\ipa\char'126\next}%
+\def\scu{\edef\next{\the\font}\ipa\char'127\next}%
+\def\barscu{\edef\next{\the\font}\ipa\char'130\next}%
+
+%% V-type shape:
+\def\scriptv{\edef\next{\the\font}\ipa\char'131\next}%
+
+%% W-type shape:
+\def\invw{\edef\next{\the\font}\ipa\char'132\next}%
+
+%% X-type shape:
+\def\nichi{\edef\next{\the\font}\ipa\char'133\next}%
+
+%% Y-type shapes:
+\def\invy{\edef\next{\the\font}\ipa\char'134\next}%
+\def\scy{\edef\next{\the\font}\ipa\char'135\next}%
+
+%% Z-type shapes:
+\def\curlyz{\edef\next{\the\font}\ipa\char'136\next}%
+\def\tailz{\edef\next{\the\font}\ipa\char'137\next}%
+\def\yogh{\edef\next{\the\font}\ipa\char'140\next}%
+\def\curlyyogh{\edef\next{\the\font}\ipa\char'141\next}%
+
+%% ?-type shapes:
+\def\glotstop{\edef\next{\the\font}\ipa\char'142\next}%
+\def\revglotstop{\edef\next{\the\font}\ipa\char'143\next}%
+\def\invglotstop{\edef\next{\the\font}\ipa\char'144\next}%
+\def\ejective{\edef\next{\the\font}\ipa\char'145\next}%
+\def\reveject{\edef\next{\the\font}\ipa\char'146\next}%
+
+%% AND that should be it, as far as actual characters go.
+%%
+%% THE following is the set of diacritics. Please try to get
+%% the 4 t-bars lined up above the 4 pointers, so you may
+%% have to reshuffle things a bit. Not to worry too much. I
+%% think the diacritics can be grouped more according to
+%% shape, so comma-like things are together, etc.
+%%
+
+\def\dental#1{\oalign{#1\crcr
+ \hidewidth{\ipa\char'147}\hidewidth}}
+
+\def\upt{\edef\next{\the\font}\ipa\char'154\next}% These are IPA pointers
+\def\downt{\edef\next{\the\font}\ipa\char'155\next}%
+\def\leftt{\edef\next{\the\font}\ipa\char'156\next}%
+\def\rightt{\edef\next{\the\font}\ipa\char'157\next}%
+
+ % These are American versions of t-bars
+\def\upp{\edef\next{\the\font}\ipa\char'164\next}
+\def\downp{\edef\next{\the\font}\ipa\char'165\next}%
+\def\leftp{\edef\next{\the\font}\ipa\char'166\next}%
+\def\rightp{\edef\next{\the\font}\ipa\char'167\next}%
+
+\def\stress{\edef\next{\the\font}\ipa\char'150\next}% primary stress
+\def\secstress{\edef\next{\the\font}\ipa\char'151\next}% secondary stress
+
+\def\syllabic{\edef\next{\the\font}\ipa\char'152\next}% syllabic marker
+
+\def\corner{\edef\next{\the\font}\ipa\char'153\next}%
+
+ % American equivalent: raised dot
+\def\halflength{\edef\next{\the\font}\ipa\char'160\next}
+ % American equivalent: colon
+\def\length{\edef\next{\the\font}\ipa\char'161\next}
+
+\def\underdots{\edef\next{\the\font}\ipa\char'162\next}%
+
+ % ``reversed apostrophe'', p. 216
+\def\ain{\edef\next{\the\font}\ipa\char'163\next}
+
+\def\overring{\edef\next{\the\font}\ipa\char'170\next}%
+\def\underring{\edef\next{\the\font}\ipa\char'171\next}%
+
+\def\open{\edef\next{\the\font}\ipa\char'172\next}%
+
+\def\midtilde{\edef\next{\the\font}\ipa\char'173\next}%
+\def\undertilde{\edef\next{\the\font}\ipa\char'174\next}%
+
+\def\underwedge{\edef\next{\the\font}\ipa\char'175\next}%
+
+\def\polishhook{\edef\next{\the\font}\ipa\char'176\next}%
+
+\def\underarch#1{\oalign{#1\crcr
+ \hidewidth{\ipa\char'177}\hidewidth}}
+
+%% AND that's it for the diacritics.
diff --git a/fonts/wsuipa/macros/uipa.fd b/fonts/wsuipa/macros/uipa.fd
new file mode 100644
index 0000000000..18e17730b1
--- /dev/null
+++ b/fonts/wsuipa/macros/uipa.fd
@@ -0,0 +1,50 @@
+%% Please see the file LICENCE-wsuipa.txt for licensing information.
+%%
+%%
+%% This is file `Uipa.fd' by D. Roegel (roegel@loria.fr)
+%% and Andrej Brodnik (abrodnik@watdragon.uwaterloo.ca)
+%% July 16, 1994
+%%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+\ProvidesFile{Uipa.fd}[1994/07/16]
+\DeclareFontFamily{U}{ipa}{}
+\DeclareFontShape{U}{ipa}{m}{n}
+ {
+ <5> <6> <7> wsuipa8
+ <8> <9> <10><10.95> gen * wsuipa
+ <12><14.4> wsuipa12
+ <17.28><20.74><24.88> wsuipa17
+ }{}
+\DeclareFontShape{U}{ipa}{bx}{n}
+ {
+ <5> <6> <7> wbxipa8
+ <8> <9> <10><10.95> gen * wbxipa
+ <12><14.4> wbxipa12
+ <17.28><20.74><24.88> wbxipa17
+ }{}
+\DeclareFontShape{U}{ipa}{m}{sl}
+ {
+ <5> <6> <7> wslipa8
+ <8> <9> <10><10.95> gen * wslipa
+ <12><14.4> wslipa12
+ <17.28><20.74><24.88> wslipa17
+ }{}
+\DeclareFontShape{U}{ipa}{m}{it}
+ {<->ssub * ipa/m/sl}{}
+\endinput
+%%
+%% End of file `Uipa.fd'.