Scaling Grothendieck

This blog serves as a chronicle of my ideas, thoughts, and projects. Also presented are expositions of topics in mathematics and engineering.


IPA.js

“Weeks of programming can save you hours of planning.”

I'm happy to share my new project today––IPA.js. It's a port of $\LaTeX$'s $\textsf{TIPA}$ package (used for processing phonetic symbols) and lets you typeset IPA (International Phonetic Alphabet) on the web. I initially made a small subset of it to take notes for my phonetics and phonology coursework, and have expanded it comprehensively now that I have more time. I have tried to preserve $\textsf{TIPA}$'s ease-of-use, or, uh, at least its mode-of-use, so you get near-full access to its exhaustive (and exhausting) macros and shortcuts, which means you can do something like $\texttt{\ipa{\'{\"{\^*{\dh}}}}}$ to get $ \ipa{\'{\"{\^*{\dh}}}} $.

It's an open-source implementation in JavaScript built on top of a fork of MathJax. When I was first learning JS a couple of years back one of the first programs I did was an OCaml interpreter. It involved a lot of lexing, parsing, tokenizing, generating an abstract syntax tree, pattern matching, etc. etc., and I found myself doing the same kind of stuff here, so, throwback to that. The source code along with usage and contribution instructions is available here.

Nota bene I have never formally studied compiler construction; this project was buttressed by my very limited exposure to Chomsky hierarchy and context-free grammars (not that $\TeX$ has a context-free grammar, which would be ridiculous, but the minuscule portion of it that I've programmed here probably does), so please go easy on the issues tab. I'll be happy to refactor the code: tell me how, or send a pull request––I'm keen to learn from better programmers. Additionally, I'll be thankful for all reports of issues with the kerning of characters or improper rendering; I played a lot of it by ear.

Below are some helpful reference charts for character codes.


Vowels and Consonants

Symbol Input method (shortcut) Symbol Name
$\ipa{a}$ $\texttt{a (5)}$ Lower case A
$\ipa{\textscripta}$ $\texttt{\textscripta (A)}$ Script A
$\ipa{\textturnscripta}$ $\texttt{\textturnscripta (6)}$ Turned Script A
$\ipa{\ae}$ $\texttt{\ae}$ Ash
$\ipa{\;A}$ $\texttt{\textsca (\;A)}$ Small Capital A
$\ipa{2}$ $\texttt{\textturnv (2)}$ Turned V
$\ipa{b}$ $\texttt{b}$ Lower-case B
$\ipa{\textsoftsign}$ $\texttt{\textsoftsign}$ Soft Sign
$\ipa{\texthardsign}$ $\texttt{\texthardsign}$ Hard Sign
$\ipa{\texthtb}$ $\texttt{\texthtb (\!b)}$ Hooktop B
$\ipa{\;B}$ $\texttt{\textscb (\;B) }$ Small Capital B
$\ipa{\textcrb}$ $\texttt{\textcrb}$ Crossed B
$\ipa{\textbeta}$ $\texttt{\textbeta (B)}$ Beta
$\ipa{c}$ $\texttt{c}$ Lower case C
$\ipa{\texthtc}$ $\texttt{\texthtc}$ Hooktop C
$\ipa{\v{c}}$ $\texttt{\v{c}}$ C Wedge
$\ipa{\c{c}}$ $\texttt{\c{c}}$ C Cedilla
$\ipa{\textctc}$ $\texttt{\textctc (C)}$ Curly-tail C
$\ipa{\textstretchc}$ $\texttt{\textstretchc}$ Stretched C
$\ipa{d}$ $\texttt{d}$ Lower case D
$\ipa{\textcrd}$ $\texttt{\textcrd}$ Crossed D
$\ipa{\texthtd}$ $\texttt{\texthtd (\!d)}$ Hooktop D
$\ipa{\textrtaild}$ $\texttt{\textrtaild (\:d)}$ Right-tail D
$\ipa{\textctd}$ $\texttt{\textctd}$ Curly-tail D
$\ipa{\textdzlig}$ $\texttt{\textdzlig}$ D-Z Ligature
$\ipa{\textdctzlig}$ $\texttt{\textdctzlig}$ D-Curly-tail Z Ligature
$\ipa{\textdyoghlig}$ $\texttt{\textdyoghlig}$ D-Yogh Ligature
$\ipa{\textctdctzlig}$ $\texttt{\textctdctzlig}$ Curly-tail D-Curly-tail Z Ligature
$\ipa{\dh}$ $\texttt{\dh (D)}$ Eth
$\ipa{e}$ $\texttt{e}$ Lower case E
$\ipa{@}$ $\texttt{\textschwa (@)}$ Schwa
$\ipa{\textrhookschwa}$ $\texttt{\textrhookschwa}$ Right-hook Schwa
$\ipa{\textreve}$ $\texttt{\textreve (9)}$ Reversed E
$\ipa{\textsce}$ $\texttt{\textsce (\;E)}$ Small Capital E
$\ipa{\textepsilon}$ $\texttt{\textepsilon (E)}$ Epsilon
$\ipa{\textcloseepsilon}$ $\texttt{\textcloseepsilon}$ Closed Epsilon
$\ipa{\textrevepsilon}$ $\texttt{\textrevepsilon (3)}$ Reversed Epsilon
$\ipa{\textrhookrevepsilon}$ $\texttt{\textrhookrevepsilon}$ Right-hook Reversed Epsilon
$\ipa{\textcloserevepsilon}$ $\texttt{\textcloserevepsilon}$ Closed Reversed Epsilon
$\ipa{f}$ $\texttt{f}$ Lower case F
$\ipa{\textg}$ $\texttt{\textg (g)}$ Lower case G
$\ipa{\texthtg}$ $\texttt{\texthtg (\!g)}$ Hooktop G
$\ipa{\textscg}$ $\texttt{\textscg (\;G)}$ Small Capital G
$\ipa{\texthtscg}$ $\texttt{\texthtscg (\!G)}$ Hooktop Small Capital G
$\ipa{\textgamma}$ $\texttt{\textgamma (G)}$ Gamma
$\ipa{\textbabygamma}$ $\texttt{\textbabygamma}$ Baby Gamma
$\ipa{\textramshorns}$ $\texttt{\textramshorns (7)}$ Ram’s Horns
$\ipa{h}$ $\texttt{h}$ Lower case H
$\ipa{\texthvlig}$ $\texttt{\texthvlig}$ H-V Ligature
$\ipa{\textcrh}$ $\texttt{\textcrh}$ Crossed H
$\ipa{\texthth}$ $\texttt{\texthth (H)}$ Hooktop H
$\ipa{\texththeng}$ $\texttt{\texththeng}$ Hooktop Heng
$\ipa{\textturnh}$ $\texttt{\textturnh (4)}$ Turned H
$\ipa{\textsch}$ $\texttt{\textsch (\;H)}$ Small Capital H
$\ipa{i}$ $\texttt{i}$ Lower case I
$\ipa{\i}$ $\texttt{\i}$ Undotted I
$\ipa{\textbari}$ $\texttt{\textbari (1)}$ Barred I
$\ipa{\textiota}$ $\texttt{\textiota}$ Iota
$\ipa{\textlhti}$ $\texttt{\textlhti}$ Left-hooktop I
$\ipa{\textvibyi}$ $\texttt{\textvibyi}$ Viby I
$\ipa{\textraisevibyi}$ $\texttt{\textraisevibyi}$ Raised Viby I
$\ipa{\textsci}$ $\texttt{\textsci (I)}$ Small Capital I
$\ipa{j}$ $\texttt{j}$ Lower case J
$\ipa{\j}$ $\texttt{\j}$ Undotted J
$\ipa{\textctj}$ $\texttt{\textctj (J)}$ Curly-tail J
$\ipa{\textscj}$ $\texttt{\textscj (\;J)}$ Small Capital J
$\ipa{\v{\j}}$ $\texttt{\v{\j}}$ J Wedge
$\ipa{\textbardotlessj}$ $\texttt{\textbardotlessj}$ Barred Dotless J
$\ipa{\texthtbardotlessj}$ $\texttt{\texthtbardotlessj (\!j)}$ Hooktop Barred Dotless J
$\ipa{k}$ $\texttt{k}$ Lower case K
$\ipa{\texthtk}$ $\texttt{\texthtk}$ Hooktop K
$\ipa{\textturnk}$ $\texttt{\textturnk (\*k)}$ Turned K
$\ipa{\textltilde}$ $\texttt{\textltilde (\|~l)}$ L with Tilde
$\ipa{\textbarl}$ $\texttt{\textbarl}$ Barred L
$\ipa{\textbeltl}$ $\texttt{\textbeltl}$ Belted L
$\ipa{\textrtaill}$ $\texttt{\textrtaill (\:l)}$ Right-tail L
$\ipa{\textlyoghlig}$ $\texttt{\textlyoghlig}$ L-Yogh Ligature
$\ipa{\textscl}$ $\texttt{\textscl (\;L)}$ Small Capital L
$\ipa{\textlambda}$ $\texttt{\textlambda}$ Lambda
$\ipa{\textcrlambda}$ $\texttt{\textcrlambda}$ Crossed Lambda
$\ipa{m}$ $\texttt{m}$ Lower case M
$\ipa{\textltailm}$ $\texttt{\textltailm (M)}$ Left-tail M (at right)
$\ipa{\textturnm}$ $\texttt{\textturnm (W)}$ Turned M
$\ipa{\textturnmrleg}$ $\texttt{\textturnmrleg}$ Turned M, Right Leg
$\ipa{n}$ $\texttt{n}$ Lower case N
$\ipa{\textnrleg}$ $\texttt{\textnrleg}$ N, Right Leg
$\ipa{~n}$ $\texttt{~n}$ N with Tilde
$\ipa{\textltailn}$ $\texttt{\textltailn}$ Left-tail N (at left)
$\ipa{\ng}$ $\texttt{\ng (N)}$ Eng
$\ipa{\textrtailn}$ $\texttt{\textrtailn (\:n)}$ Right-tail N
$\ipa{\textscn}$ $\texttt{\textscn (\;N)}$ Small Capital N
$\ipa{o}$ $\texttt{o}$ Lower case O
$\ipa{\textbullseye}$ $\texttt{\textbullseye (\!o)}$ Bull’s Eye
$\ipa{\textbaro}$ $\texttt{\textbaro (8)}$ Barred O
$\ipa{\o}$ $\texttt{\o}$ Slashed O
$\ipa{\oe}$ $\texttt{\oe}$ O-E Ligature
$\ipa{\textscoelig}$ $\texttt{\textscoelig}$ Small Capital O-E Ligature
$\ipa{\textopeno}$ $\texttt{\textopeno (O)}$ Open O
$\ipa{\textomega}$ $\texttt{\textomega}$ Omega
$\ipa{\textcloseomega}$ $\texttt{\textcloseomega}$ Closed Omega
$\ipa{p}$ $\texttt{p}$ Lower case P
$\ipa{\textwynn}$ $\texttt{\textwynn}$ Wynn
$\ipa{\textthorn}$ $\texttt{\textthorn (\th)}$ Thorn
$\ipa{\texthtp}$ $\texttt{\texthtp}$ Hooktop P
$\ipa{\textphi}$ $\texttt{\textphi (F)}$ Phi
$\ipa{q}$ $\texttt{q}$ Lower case Q
$\ipa{\texthtq}$ $\texttt{\texthtq}$ Hooktop Q
$\ipa{r}$ $\texttt{r}$ Lower case R
$\ipa{\textfishhookr}$ $\texttt{\textfishhookr (R)}$ Fish-hook R
$\ipa{\textlonglegr}$ $\texttt{\textlonglegr}$ Long-leg R
$\ipa{\textrtailr}$ $\texttt{\textrtailr (\:r)}$ Right-tail R
$\ipa{\textturnr}$ $\texttt{\textturnr (\*r)}$ Turned R
$\ipa{\textturnrrtail}$ $\texttt{\textturnrrtail (\:R)}$ Turned R, Right Tail
$\ipa{\textturnlonglegr}$ $\texttt{\textturnlonglegr}$ Turned Long-leg R
$\ipa{\textscr}$ $\texttt{\textscr (\;R)}$ Small Capital R
$\ipa{\textinvscr}$ $\texttt{\textinvscr (K)}$ Inverted Small Capital R
$\ipa{s}$ $\texttt{s}$ Lower case S
$\ipa{\v{s}}$ $\texttt{\v{s}}$ S Wedge
$\ipa{\textrtails}$ $\texttt{\textrtails (\:s)}$ Right-tail S (at left)
$\ipa{\textesh}$ $\texttt{\textesh (S)}$ Esh
$\ipa{\textctesh}$ $\texttt{\textctesh}$ Curly-tail Esh
$\ipa{t}$ $\texttt{t}$ Lower case T
$\ipa{\texthtt}$ $\texttt{\texthtt}$ Hooktop T
$\ipa{\textlhookt}$ $\texttt{\textlhookt}$ Left-hook T
$\ipa{\textrtailt}$ $\texttt{\textrtailt (\:t)}$ Right-tail T
$\ipa{\texttctclig}$ $\texttt{\texttctclig}$ T-Curly-tail C Ligature
$\ipa{\texttslig}$ $\texttt{\texttslig}$ T-S Ligature
$\ipa{\textteshlig}$ $\texttt{\textteshlig}$ T-Esh Ligature
$\ipa{\textturnt}$ $\texttt{\textturnt (\*t)}$ Turned T
$\ipa{\textctt}$ $\texttt{\textctt}$ Curly-tail T
$\ipa{\textcttctclig}$ $\texttt{\textcttctclig}$ Curly-tail T-Curly-tail C Ligature
$\ipa{\texttheta}$ $\texttt{\texttheta (T)}$ Theta
$\ipa{u}$ $\texttt{u}$ Lower case U
$\ipa{\textbaru}$ $\texttt{\textbaru (0)}$ Barred U
$\ipa{\textupsilon}$ $\texttt{\textupsilon (U)}$ Upsilon
$\ipa{\textscu}$ $\texttt{\textscu (\;U)}$ Small Capital U
$\ipa{v}$ $\texttt{v}$ Lower case V
$\ipa{\textscriptv}$ $\texttt{\textscriptv (V)}$ Script V
$\ipa{w}$ $\texttt{w}$ Lower case W
$\ipa{\textturnw}$ $\texttt{\textturnw (\*w)}$ Turned W
$\ipa{x}$ $\texttt{x}$ Lower case X
$\ipa{\textchi}$ $\texttt{\textchi (X)}$ Chi
$\ipa{y}$ $\texttt{y}$ Lower case Y
$\ipa{\textturny}$ $\texttt{\textturny (L)}$ Turned Y
$\ipa{\textscy}$ $\texttt{\textscy (Y)}$ Small Capital Y
$\ipa{\textvibyy}$ $\texttt{\textvibyy}$ Viby Y
$\ipa{z}$ $\texttt{z}$ Lower case Z
$\ipa{\textcommatailz}$ $\texttt{\textcommatailz}$ Comma-tail Z
$\ipa{\v{z}}$ $\texttt{\v{z}}$ Z Wedge
$\ipa{\textctz}$ $\texttt{\textctz}$ Curly-tail Z
$\ipa{\textrevyogh}$ $\texttt{\textrevyogh}$ Reversed Yogh
$\ipa{\textrtailz}$ $\texttt{\textrtailz (\:z)}$ Right-tail Z
$\ipa{\textyogh}$ $\texttt{\textyogh (Z)}$ Yogh
$\ipa{\textctyogh}$ $\texttt{\textctyogh}$ Curly-tail Yogh
$\ipa{\textcrtwo}$ $\texttt{\textcrtwo}$ Crossed 2
$\ipa{\textglotstop}$ $\texttt{\textglotstop (P)}$ Glottal Stop
$\ipa{\textraiseglotstop}$ $\texttt{\textraiseglotstop}$ Superscript Glottal Stop
$\ipa{\textbarglotstop}$ $\texttt{\textbarglotstop}$ Barred Glottal Stop
$\ipa{\textinvglotstop}$ $\texttt{\textinvglotstop}$ Inverted Glottal Stop
$\ipa{\textcrinvglotstop}$ $\texttt{\textcrinvglotstop}$ Crossed Inverted Glottal Stop
$\ipa{\textrevglotstop}$ $\texttt{\textrevglotstop (Q)}$ Reversed Glottal Stop
$\ipa{\textbarrevglotstop}$ $\texttt{\textbarrevglotstop}$ Barred Reversed Glottal Stop
$\ipa{\textpipe}$ $\texttt{\textpipe (|)}$ Pipe
$\ipa{\textdoublebarpipe}$ $\texttt{\textdoublebarpipe}$ Double-barred Pipe
$\ipa{\textdoublebarslash}$ $\texttt{\textdoublebarslash}$ Double-barred Slash
$\ipa{\textdoublepipe}$ $\texttt{\textdoublepipe(||)}$ Double Pipe
$\ipa{!}$ $\texttt{!}$ Exclamation Point

Suprasegmentals

Symbol Input method (shortcut) Symbol Name
$\ipa{\textprimstress}$ $\texttt{\textprimstress (")}$ Vertical Stroke (Superior)
$\ipa{\textsecstress}$ $\texttt{\textsecstress ("")}$ Vertical Stroke (Inferior)
$\ipa{\textlengthmark}$ $\texttt{\textlengthmark (:)}$ Length Mark
$\ipa{\texthalflength}$ $\texttt{\texthalflength (;)}$ Half-length Mark
$\ipa{\textvertline}$ $\texttt{\textvertline}$ Vertical Line
$\ipa{\textdoublevertline}$ $\texttt{\textdoublevertline}$ Double Vertical Line
$\ipa{\textbottomtiebar}$ $\texttt{\textbottomtiebar (\t*{})}$ Bottom Tie Bar
$\ipa{\textglobfall}$ $\texttt{\textglobfall}$ Downward Diagonal Arrow
$\ipa{\textglobrise}$ $\texttt{\textglobrise}$ Upward Diagonal Arrow
$\ipa{\textdownstep}$ $\texttt{\textdownstep}$ Down Arrow
$\ipa{\textupstep}$ $\texttt{\textupstep}$ Up Arrow

Accents and Diacritics

$\ipa{\`{e}}$ $\texttt{\`{e}}$ Grave Accent
$\ipa{\'{e}}$ $\texttt{\'{e}}$ Acute Accent
$\ipa{\^{e}}$ $\texttt{\\^{e}}$ Circumflex Accent
$\ipa{\~{e}}$ $\texttt{\\~{e}}$ Tilde
$\ipa{\"{e}}$ $\texttt{\"{e}}$ Umlaut
$\ipa{\H{e}}$ $\texttt{\H{e}}$ Double Acute Accent
$\ipa{\r{e}}$ $\texttt{\r{e}}$ Ring
$\ipa{\v{e}}$ $\texttt{\v{e}}$ Wedge
$\ipa{\u{e}}$ $\texttt{\u{e}}$ Breve
$\ipa{\={e}}$ $\texttt{\={e}}$ Macron
$\ipa{\.{e}}$ $\texttt{\.{e}}$ Dot
$\ipa{\c{e}}$ $\texttt{\c{e}}$ Cedilla
$\ipa{\textpolhook{e}}$ $\texttt{\textpolhook{e} (\k{e})}$ Polish Hook (Ogonek Accent)
$\ipa{\textdoublegrave{e}}$ $\texttt{\textdoublegrave{e} (\H*{e})}$ Double Grave Accent
$\ipa{\textsubgrave{e}}$ $\texttt{\textsubgrave{e} (\`*{e})}$ Subscript Grave Accent
$\ipa{\textsubacute{e}}$ $\texttt{\textsubacute{e} (\'*{e})}$ Subscript Acute Accent
$\ipa{\textsubcircum{e}}$ $\texttt{\textsubcircum{e} (\^*{e})}$ Subscript Circumflex Accent
$\ipa{\textroundcap{g}}$ $\texttt{\textroundcap{g} (\|c{g})}$ Round Cap
$\ipa{\textacutemacron{a}}$ $\texttt{\textacutemacron{a} (\'={a})}$ Acute Accent with Macron
$\ipa{\textvbaraccent{a}}$ $\texttt{\textvbaraccent{a}}$ Vertical Bar Accent
$\ipa{\textdoublevbaraccent{a}}$ $\texttt{\textdoublevbaraccent{a}}$ Double Vertical Bar Accent
$\ipa{\textgravedot{e}}$ $\texttt{\textgravedot{e} (\`.{e})}$ Grave Dot Accent
$\ipa{\textdotacute{e}}$ $\texttt{\textdotacute{e} (\'.{e})}$ Dot Acute Accent
$\ipa{\textcircumdot{a}}$ $\texttt{\textcircumdot{a} (\^.{a})}$ Circumflex Dot Accent
$\ipa{\texttildedot{a}}$ $\texttt{\texttildedot{a} (~.{a})}$ Tilde Dot Accent
$\ipa{\textbrevemacron{a}}$ $\texttt{\textbrevemacron{a} (\u={a})}$ Breve Macron Accent
$\ipa{\textringmacron{a}}$ $\texttt{\textringmacron{a} (\r={a})}$ Ring Macron Accent
$\ipa{\textacutewedge{s}}$ $\texttt{\textacutewedge{s} (\v'{s})}$ Acute Wedge Accent
$\ipa{\textdotbreve{a}}$ $\texttt{\textdotbreve{a}}$ Dot Breve Accent
$\ipa{\textsubbridge{t}}$ $\texttt{\textsubbridge{t} (\|[{t})}$ Subscript Bridge
$\ipa{\textinvsubbridge{d}}$ $\texttt{\textinvsubbridge{d} (\|]{t})}$ Inverted Subscript Bridge
$\ipa{\textsubsquare{n}}$ $\texttt{\textsubsquare{n}}$ Subscript Square
$\ipa{\textsubrhalfring{o}}$ $\texttt{\textsubrhalfring{o} (\|){o})}$ Subscript Right Half-ring
$\ipa{\textsublhalfring{o}}$ $\texttt{\textsublhalfring{o} (\|({o})}$ Subscript Left Half-ring
$\ipa{\textsubw{k}}$ $\texttt{\textsubw{k} (\|w{k})}$ Subscript W
$\ipa{\textoverw{g}}$ $\texttt{\textoverw{g}}$ Over W
$\ipa{\textseagull{t}}$ $\texttt{\textseagull{t} (\|m{t})}$ Seagull
$\ipa{\textovercross{e}}$ $\texttt{\textovercross{e} (\|x{e})}$ Over-cross
$\ipa{\textsubplus{\textopeno}}$ $\texttt{\textsubplus{\textopeno} (\|+{O})}$ Subscript Plus
$\ipa{\textraising{\textepsilon}}$ $\texttt{\textraising{\textepsilon} (\|'{E})}$ Raising Sign
$\ipa{\textlowering{e}}$ $\texttt{\textlowering{e} (\|`{e})}$ Lowering Sign
$\ipa{\textadvancing{u}}$ $\texttt{\textadvancing{u} (\|<{u})}$ Advancing Sign
$\ipa{\textretracting{\textschwa}}$ $\texttt{\textretracting{\textschwa} (\|>{@})}$ Retracting Sign
$\ipa{\textsubtilde{e}}$ $\texttt{\textsubtilde{e} (~*{e})}$ Subscript Tilde
$\ipa{\textsubumlaut{e}}$ $\texttt{\textsubumlaut{e} (\"*{e})}$ Subscript Umlaut
$\ipa{\textsubring{u}}$ $\texttt{\textsubring{u} (\r*{u})}$ Subscript Ring
$\ipa{\textsubwedge{e}}$ $\texttt{\textsubwedge{e} (\v*{e})}$ Subscript Wedge
$\ipa{\textsubbar{e}}$ $\texttt{\textsubbar{e} (\=*{e})}$ Subscript Bar
$\ipa{\textsubdot{e}}$ $\texttt{\textsubdot{e} (\.*{e})}$ Subscript Dot
$\ipa{\textsubarch{e}}$ $\texttt{\textsubarch{e}}$ Subscript Arch
$\ipa{\textsyllabic{m}}$ $\texttt{\textsyllabic{m} (\s{m})}$ Syllabicity Mark
$\ipa{t\textcorner}$ $\texttt{t\textcorner}$ Corner
$\ipa{t\textopencorner}$ $\texttt{t\textopencorner}$ Open Corner
$\ipa{\textschwa\rhoticity}$ $\texttt{\textschwa\rhoticity}$ Rhoticity
$\ipa{b\textceltpal}$ $\texttt{b\textceltpal}$ Celtic Palatalization Mark
$\ipa{k\textlptr}$ $\texttt{k\textlptr}$ Left Pointer
$\ipa{k\textrptr}$ $\texttt{k\textrptr}$ Right Pointer
$\ipa{\texttoptiebar{gb}}$ $\texttt{\texttoptiebar{gb}(\t{gb})}$ Top Tie Bar
$\ipa{'}$ $\texttt{'}$ Apostrophe
$\ipa{\textrevapostrophe}$ $\texttt{\textrevapostrophe}$ Reversed Apostrophe
$\ipa{.}$ $\texttt{.}$ Period
$\ipa{\textrthook}$ $\texttt{\textrthook}$ Right Hook
$\ipa{\textpalhook}$ $\texttt{\textpalhook}$ Palatalization Hook
$\ipa{p\textsuperscript{h}}$ $\texttt{p\textsuperscript{h}}$ Superscript