5

I often need to look up a catcode table, and quick searches on the web are rarely satisfying.

So I thought, it must be (in the long term) easier to use a Latex function of sorts, to loop through all 8-bit sequences (that is, ASCII characters), and print out:

[ASCII code] - [ASCII character] - [catcode] - [catcode meaning]

A "reverse indexing" would be nice as well - where catcodes are output, and then which ASCII chars belong to them, e.g:

[catcode] - [catcode meaning]: 
    [ASCII code1] - [ASCII character1]
    [ASCII code2] - [ASCII character2]
    ....

Just wanted to note - I'd like such a table to be \typeouted to the terminal (not typeset in a PDF).

In #21397 - How to get the catcode of a token?, a \printcatcode exercise is mentioned, that answers the mapping from ASCII character to a verbose catcode meaning...

So I guess, one would just have to make a loop from 0 to 255 (maybe something similar to approaches in An expandable 'character scanning' command?), and apply all such relevant transformations - unfortunately, I'm not mastering tex core on a level where I can come up with that code off the top of my head. But maybe a function for something like this already exists?

Any suggestions for code that I could use in this context?

4

Well, here is a partial answer - does everything, (except I don't know how to output ASCII code as character on terminal in Latex (\char apparently typesets, and it's not expandable, so cannot be used in \typeout) EDIT: Fixed thanks to uccode trick by @DavidCarlisle in comments.), except the "reverse lookup".

(EDIT2: See also the texref tool (not the package) in comment by @codebeard)

The output is something like this:

...
ASCII [29]: ==^^]== CATCODE {15}: ignored
ASCII [30]: ==^^^== CATCODE {15}: ignored
ASCII [31]: ==^^_== CATCODE {15}: ignored
ASCII [32]: == == CATCODE {10}: space
ASCII [33]: ==!== CATCODE {12}: otherchar
ASCII [34]: =="== CATCODE {12}: otherchar
ASCII [35]: ==#== CATCODE {6}: parameter
ASCII [36]: ==$== CATCODE {3}: math shift
ASCII [37]: ==%== CATCODE {14}: comment
ASCII [38]: ==&== CATCODE {4}: tab
ASCII [39]: =='== CATCODE {12}: otherchar
ASCII [40]: ==(== CATCODE {12}: otherchar
ASCII [41]: ==)== CATCODE {12}: otherchar
....

.. and the code is here:

\documentclass[12pt]{article}

% http://mathematics.nsetzer.com/latex/latex_for_loop.html
\usepackage{ifthen}
\newcommand{\forloop}[5][1]%
{%
\setcounter{#2}{#3}%
\ifthenelse{#4}%
    {%
    #5%
    \addtocounter{#2}{#1}%
    \forloop[#1]{#2}{\value{#2}}{#4}{#5}%
    }%
% Else
    {%
    }%
}%

\newcommand{\printcatcode}[1]{%
   \ifcase\catcode`#1\relax
      escape\or
      beginning of group\or
      end of group\or
      math shift\or
      tab\or
      end of line\or
      parameter\or
      superscript\or
      subscript\or
      ignored\or
      space\or
      letter\or
      otherchar\or
      active\or
      comment\or
      ignored\fi}

\newcommand{\printcatcodeI}[1]{%
   \ifcase\catcode#1\relax
      escape\or
      beginning of group\or
      end of group\or
      math shift\or
      tab\or
      end of line\or
      parameter\or
      superscript\or
      subscript\or
      ignored\or
      space\or
      letter\or
      otherchar\or
      active\or
      comment\or
      ignored\fi}

\newcounter{ct}

% NOTE: \char *typesets*
% \typeout{\char\thect} doesn't work;
% \char typesets - and doesn't expand!
% to print character from code, use uccode trick
%  (with A as standin, only local changes):
%
\def\printCatcodeTableStdout{%
  \forloop[1]{ct}{0}{\value{ct} < 256}{%
   {% code_block (changes only in local scope)
    \uccode`A=\value{ct} %
    \uppercase{ %
      \typeout{ascii [\thect]: ==A==  catcode {\the\catcode\thect}: \printcatcodeI\thect }
    } % end uppercase
   } % end code_block
  } % end forloop
  %\typeout{=A=} % check if back to normal? yes
}

\begin{document}

\printCatcodeTableStdout

\end{document}
  • 1
    one way to typeout the character is (no formatting as I need the backtick in the code) \def\printCatcodeTableStdout{% \forloop[1]{ct}{1}{\value{ct} < 256}{% code_block {\uccode`A=\value{ct} \uppercase{\typeout{== [\thect] ==-A-== {\the\catcode\thect} == \printcatcodeI\thect }}} } % end forloop } – David Carlisle Jun 23 '12 at 14:39
  • Fantastic, thanks for that @DavidCarlisle - would you mind posting the \uccode`A=87 \uppercase{\typeout{-A-}} trick as answer to output ASCII code as character on terminal in Latex, so I can accept it there? I'll edit this post in the meantime... Many thanks again - cheers! – sdaau Jun 23 '12 at 14:52
  • 1
    I have written a small tool called texref which can give quick information about category codes and character information, and maybe other things too in future. If you think it's useful, perhaps consider including it in your answer. github.com/kieranclancy/texref.git – codebeard Jul 8 '12 at 16:32
  • Many thanks for that, @codebeard - the tool looks really nice! I updated my answer; though I think texref may be a bit unfortunate of a name choice, as there already is a package on CTAN: texref. Thanks again - cheers! – sdaau Jun 26 '14 at 0:42
3

An expl3 implementation of a \catcodetable macro that takes as optional argument a range of values (default 0-255) or a single number (denoting the end of the interval starting at 0).

A loop is started and at each stage the corresponding code point is examined; we print the code point (in decimal format); then a representation of the character

  • if it is between 0 and 31, with the traditional ^^, adding 64;
  • for 127, with ^^?;
  • for characters between 128 and 255, the notation is ^^ab with two lowercase hex digits.

Next comes the category code in verbal representation.

    %\UseRawInputEncoding
    \documentclass{article}
    \usepackage{xparse}
    \usepackage{ifxetex}

    \ExplSyntaxOn
    \NewDocumentCommand{\catcodetable}{>{\SplitArgument{1}{-}}O{0-255}}
     {
      \catcodetablerange#1
     }
    \NewDocumentCommand{\catcodetablerange}{mm}
     {
      \IfNoValueTF{#2}
       {
        \egreg_cctab:nn { 0 } { #1 }
       }
       {
        \egreg_cctab:nn { #1 } { #2 }
       }
     }

    \str_const:Nn \c_egreg_cctab_prefix_str { ^ ^ }

    \cs_new_protected:Nn \egreg_cctab:nn
     {
      \int_step_function:nnnN { #1 } { 1 } { #2 } \egreg_cctab_char:n
     }

    \cs_new_protected:Nn \egreg_cctab_char:n
     {
      \iow_term:x
       {
        Code~\int_to_arabic:n { #1 }:~(
        \int_compare:nTF { 0 <= #1 < 32 }
         {
          \c_egreg_cctab_prefix_str \char_generate:nn { #1+64 } { 12 }
         }
         {
          \int_compare:nTF { #1 = 127 }
           {
            \c_egreg_cctab_prefix_str \char_generate:nn { #1-64 } { 12 }
           }
           {
            \int_compare:nTF { 128 <= #1 < 256 }
             {
              \c_egreg_cctab_prefix_str \int_to_hex:n { #1 }
             }
             {
              \char_generate:nn { #1 } { 12 }
             }
           }
         }
         )~\__egreg_cctab_catcode:n { #1 }
       }
     }
    \cs_new:Nn \__egreg_cctab_catcode:n
     {
      \int_case:nn { \char_value_catcode:n { #1 } }
       {
        {0}{escape}
        {1}{begin~group}
        {2}{end~group}
        {3}{math~shift}
        {4}{alignment}
        {5}{end~of~line}
        {6}{parameter}
        {7}{superscript}
        {8}{subscript}
        {9}{ignored}
        {10}{space}
        {11}{letter}
        {12}{other~character}
        {13}{active~character}
        {14}{comment}
        {15}{ignored}
       }
     }
    \ExplSyntaxOff

    \catcodetable

    \ifxetex
    \catcodetable[256-512]
    \fi

    \stop

If this is run with pdflatex we get

Code 0: (^^@) ignored
Code 1: (^^A) active character
Code 2: (^^B) active character
Code 3: (^^C) active character
Code 4: (^^D) active character
Code 5: (^^E) active character
Code 6: (^^F) active character
Code 7: (^^G) active character
Code 8: (^^H) active character
Code 9: (^^I) space
Code 10: (^^J) other character
Code 11: (^^K) active character
Code 12: (^^L) active character
Code 13: (^^M) end of line
Code 14: (^^N) active character
Code 15: (^^O) active character
Code 16: (^^P) active character
Code 17: (^^Q) active character
Code 18: (^^R) active character
Code 19: (^^S) active character
Code 20: (^^T) active character
Code 21: (^^U) active character
Code 22: (^^V) active character
Code 23: (^^W) active character
Code 24: (^^X) active character
Code 25: (^^Y) active character
Code 26: (^^Z) active character
Code 27: (^^[) active character
Code 28: (^^\) active character
Code 29: (^^]) active character
Code 30: (^^^) active character
Code 31: (^^_) active character
Code 32: ( ) space
Code 33: (!) other character
Code 34: (") other character
Code 35: (#) parameter
Code 36: ($) math shift
Code 37: (%) comment
Code 38: (&) alignment
Code 39: (') other character
Code 40: (() other character
Code 41: ()) other character
Code 42: (*) other character
Code 43: (+) other character
Code 44: (,) other character
Code 45: (-) other character
Code 46: (.) other character
Code 47: (/) other character
Code 48: (0) other character
Code 49: (1) other character
Code 50: (2) other character
Code 51: (3) other character
Code 52: (4) other character
Code 53: (5) other character
Code 54: (6) other character
Code 55: (7) other character
Code 56: (8) other character
Code 57: (9) other character
Code 58: (:) other character
Code 59: (;) other character
Code 60: (<) other character
Code 61: (=) other character
Code 62: (>) other character
Code 63: (?) other character
Code 64: (@) other character
Code 65: (A) letter
Code 66: (B) letter
Code 67: (C) letter
Code 68: (D) letter
Code 69: (E) letter
Code 70: (F) letter
Code 71: (G) letter
Code 72: (H) letter
Code 73: (I) letter
Code 74: (J) letter
Code 75: (K) letter
Code 76: (L) letter
Code 77: (M) letter
Code 78: (N) letter
Code 79: (O) letter
Code 80: (P) letter
Code 81: (Q) letter
Code 82: (R) letter
Code 83: (S) letter
Code 84: (T) letter
Code 85: (U) letter
Code 86: (V) letter
Code 87: (W) letter
Code 88: (X) letter
Code 89: (Y) letter
Code 90: (Z) letter
Code 91: ([) other character
Code 92: (\) escape
Code 93: (]) other character
Code 94: (^) superscript
Code 95: (_) subscript
Code 96: (`) other character
Code 97: (a) letter
Code 98: (b) letter
Code 99: (c) letter
Code 100: (d) letter
Code 101: (e) letter
Code 102: (f) letter
Code 103: (g) letter
Code 104: (h) letter
Code 105: (i) letter
Code 106: (j) letter
Code 107: (k) letter
Code 108: (l) letter
Code 109: (m) letter
Code 110: (n) letter
Code 111: (o) letter
Code 112: (p) letter
Code 113: (q) letter
Code 114: (r) letter
Code 115: (s) letter
Code 116: (t) letter
Code 117: (u) letter
Code 118: (v) letter
Code 119: (w) letter
Code 120: (x) letter
Code 121: (y) letter
Code 122: (z) letter
Code 123: ({) begin group
Code 124: (|) other character
Code 125: (}) end group
Code 126: (~) active character
Code 127: (^^?) ignored
Code 128: (^^80) active character
Code 129: (^^81) active character
Code 130: (^^82) active character
Code 131: (^^83) active character
Code 132: (^^84) active character
Code 133: (^^85) active character
Code 134: (^^86) active character
Code 135: (^^87) active character
Code 136: (^^88) active character
Code 137: (^^89) active character
Code 138: (^^8a) active character
Code 139: (^^8b) active character
Code 140: (^^8c) active character
Code 141: (^^8d) active character
Code 142: (^^8e) active character
Code 143: (^^8f) active character
Code 144: (^^90) active character
Code 145: (^^91) active character
Code 146: (^^92) active character
Code 147: (^^93) active character
Code 148: (^^94) active character
Code 149: (^^95) active character
Code 150: (^^96) active character
Code 151: (^^97) active character
Code 152: (^^98) active character
Code 153: (^^99) active character
Code 154: (^^9a) active character
Code 155: (^^9b) active character
Code 156: (^^9c) active character
Code 157: (^^9d) active character
Code 158: (^^9e) active character
Code 159: (^^9f) active character
Code 160: (^^a0) active character
Code 161: (^^a1) active character
Code 162: (^^a2) active character
Code 163: (^^a3) active character
Code 164: (^^a4) active character
Code 165: (^^a5) active character
Code 166: (^^a6) active character
Code 167: (^^a7) active character
Code 168: (^^a8) active character
Code 169: (^^a9) active character
Code 170: (^^aa) active character
Code 171: (^^ab) active character
Code 172: (^^ac) active character
Code 173: (^^ad) active character
Code 174: (^^ae) active character
Code 175: (^^af) active character
Code 176: (^^b0) active character
Code 177: (^^b1) active character
Code 178: (^^b2) active character
Code 179: (^^b3) active character
Code 180: (^^b4) active character
Code 181: (^^b5) active character
Code 182: (^^b6) active character
Code 183: (^^b7) active character
Code 184: (^^b8) active character
Code 185: (^^b9) active character
Code 186: (^^ba) active character
Code 187: (^^bb) active character
Code 188: (^^bc) active character
Code 189: (^^bd) active character
Code 190: (^^be) active character
Code 191: (^^bf) active character
Code 192: (^^c0) active character
Code 193: (^^c1) active character
Code 194: (^^c2) active character
Code 195: (^^c3) active character
Code 196: (^^c4) active character
Code 197: (^^c5) active character
Code 198: (^^c6) active character
Code 199: (^^c7) active character
Code 200: (^^c8) active character
Code 201: (^^c9) active character
Code 202: (^^ca) active character
Code 203: (^^cb) active character
Code 204: (^^cc) active character
Code 205: (^^cd) active character
Code 206: (^^ce) active character
Code 207: (^^cf) active character
Code 208: (^^d0) active character
Code 209: (^^d1) active character
Code 210: (^^d2) active character
Code 211: (^^d3) active character
Code 212: (^^d4) active character
Code 213: (^^d5) active character
Code 214: (^^d6) active character
Code 215: (^^d7) active character
Code 216: (^^d8) active character
Code 217: (^^d9) active character
Code 218: (^^da) active character
Code 219: (^^db) active character
Code 220: (^^dc) active character
Code 221: (^^dd) active character
Code 222: (^^de) active character
Code 223: (^^df) active character
Code 224: (^^e0) active character
Code 225: (^^e1) active character
Code 226: (^^e2) active character
Code 227: (^^e3) active character
Code 228: (^^e4) active character
Code 229: (^^e5) active character
Code 230: (^^e6) active character
Code 231: (^^e7) active character
Code 232: (^^e8) active character
Code 233: (^^e9) active character
Code 234: (^^ea) active character
Code 235: (^^eb) active character
Code 236: (^^ec) active character
Code 237: (^^ed) active character
Code 238: (^^ee) active character
Code 239: (^^ef) active character
Code 240: (^^f0) active character
Code 241: (^^f1) active character
Code 242: (^^f2) active character
Code 243: (^^f3) active character
Code 244: (^^f4) active character
Code 245: (^^f5) active character
Code 246: (^^f6) active character
Code 247: (^^f7) active character
Code 248: (^^f8) active character
Code 249: (^^f9) active character
Code 250: (^^fa) active character
Code 251: (^^fb) active character
Code 252: (^^fc) active character
Code 253: (^^fd) active character
Code 254: (^^fe) active character
Code 255: (^^ff) active character

Uncommenting \UseRawInputEncoding, we'd get the situation prior to the 2018-04-01 release of LaTeX, namely

Code 0: (^^@) ignored
Code 1: (^^A) ignored
Code 2: (^^B) ignored
Code 3: (^^C) ignored
Code 4: (^^D) ignored
Code 5: (^^E) ignored
Code 6: (^^F) ignored
Code 7: (^^G) ignored
Code 8: (^^H) ignored
Code 9: (^^I) space
Code 10: (^^J) other character
Code 11: (^^K) ignored
Code 12: (^^L) active character
Code 13: (^^M) end of line
Code 14: (^^N) ignored
Code 15: (^^O) ignored
Code 16: (^^P) ignored
Code 17: (^^Q) ignored
Code 18: (^^R) ignored
Code 19: (^^S) ignored
Code 20: (^^T) ignored
Code 21: (^^U) ignored
Code 22: (^^V) ignored
Code 23: (^^W) ignored
Code 24: (^^X) ignored
Code 25: (^^Y) ignored
Code 26: (^^Z) ignored
Code 27: (^^[) ignored
Code 28: (^^\) ignored
Code 29: (^^]) ignored
Code 30: (^^^) ignored
Code 31: (^^_) ignored
Code 32: ( ) space
Code 33: (!) other character
Code 34: (") other character
Code 35: (#) parameter
Code 36: ($) math shift
Code 37: (%) comment
Code 38: (&) alignment
Code 39: (') other character
Code 40: (() other character
Code 41: ()) other character
Code 42: (*) other character
Code 43: (+) other character
Code 44: (,) other character
Code 45: (-) other character
Code 46: (.) other character
Code 47: (/) other character
Code 48: (0) other character
Code 49: (1) other character
Code 50: (2) other character
Code 51: (3) other character
Code 52: (4) other character
Code 53: (5) other character
Code 54: (6) other character
Code 55: (7) other character
Code 56: (8) other character
Code 57: (9) other character
Code 58: (:) other character
Code 59: (;) other character
Code 60: (<) other character
Code 61: (=) other character
Code 62: (>) other character
Code 63: (?) other character
Code 64: (@) other character
Code 65: (A) letter
Code 66: (B) letter
Code 67: (C) letter
Code 68: (D) letter
Code 69: (E) letter
Code 70: (F) letter
Code 71: (G) letter
Code 72: (H) letter
Code 73: (I) letter
Code 74: (J) letter
Code 75: (K) letter
Code 76: (L) letter
Code 77: (M) letter
Code 78: (N) letter
Code 79: (O) letter
Code 80: (P) letter
Code 81: (Q) letter
Code 82: (R) letter
Code 83: (S) letter
Code 84: (T) letter
Code 85: (U) letter
Code 86: (V) letter
Code 87: (W) letter
Code 88: (X) letter
Code 89: (Y) letter
Code 90: (Z) letter
Code 91: ([) other character
Code 92: (\) escape
Code 93: (]) other character
Code 94: (^) superscript
Code 95: (_) subscript
Code 96: (`) other character
Code 97: (a) letter
Code 98: (b) letter
Code 99: (c) letter
Code 100: (d) letter
Code 101: (e) letter
Code 102: (f) letter
Code 103: (g) letter
Code 104: (h) letter
Code 105: (i) letter
Code 106: (j) letter
Code 107: (k) letter
Code 108: (l) letter
Code 109: (m) letter
Code 110: (n) letter
Code 111: (o) letter
Code 112: (p) letter
Code 113: (q) letter
Code 114: (r) letter
Code 115: (s) letter
Code 116: (t) letter
Code 117: (u) letter
Code 118: (v) letter
Code 119: (w) letter
Code 120: (x) letter
Code 121: (y) letter
Code 122: (z) letter
Code 123: ({) begin group
Code 124: (|) other character
Code 125: (}) end group
Code 126: (~) active character
Code 127: (^^?) ignored
Code 128: (^^80) other character
Code 129: (^^81) other character
Code 130: (^^82) other character
Code 131: (^^83) other character
Code 132: (^^84) other character
Code 133: (^^85) other character
Code 134: (^^86) other character
Code 135: (^^87) other character
Code 136: (^^88) other character
Code 137: (^^89) other character
Code 138: (^^8a) other character
Code 139: (^^8b) other character
Code 140: (^^8c) other character
Code 141: (^^8d) other character
Code 142: (^^8e) other character
Code 143: (^^8f) other character
Code 144: (^^90) other character
Code 145: (^^91) other character
Code 146: (^^92) other character
Code 147: (^^93) other character
Code 148: (^^94) other character
Code 149: (^^95) other character
Code 150: (^^96) other character
Code 151: (^^97) other character
Code 152: (^^98) other character
Code 153: (^^99) other character
Code 154: (^^9a) other character
Code 155: (^^9b) other character
Code 156: (^^9c) other character
Code 157: (^^9d) other character
Code 158: (^^9e) other character
Code 159: (^^9f) other character
Code 160: (^^a0) other character
Code 161: (^^a1) other character
Code 162: (^^a2) other character
Code 163: (^^a3) other character
Code 164: (^^a4) other character
Code 165: (^^a5) other character
Code 166: (^^a6) other character
Code 167: (^^a7) other character
Code 168: (^^a8) other character
Code 169: (^^a9) other character
Code 170: (^^aa) other character
Code 171: (^^ab) other character
Code 172: (^^ac) other character
Code 173: (^^ad) other character
Code 174: (^^ae) other character
Code 175: (^^af) other character
Code 176: (^^b0) other character
Code 177: (^^b1) other character
Code 178: (^^b2) other character
Code 179: (^^b3) other character
Code 180: (^^b4) other character
Code 181: (^^b5) other character
Code 182: (^^b6) other character
Code 183: (^^b7) other character
Code 184: (^^b8) other character
Code 185: (^^b9) other character
Code 186: (^^ba) other character
Code 187: (^^bb) other character
Code 188: (^^bc) other character
Code 189: (^^bd) other character
Code 190: (^^be) other character
Code 191: (^^bf) other character
Code 192: (^^c0) other character
Code 193: (^^c1) other character
Code 194: (^^c2) other character
Code 195: (^^c3) other character
Code 196: (^^c4) other character
Code 197: (^^c5) other character
Code 198: (^^c6) other character
Code 199: (^^c7) other character
Code 200: (^^c8) other character
Code 201: (^^c9) other character
Code 202: (^^ca) other character
Code 203: (^^cb) other character
Code 204: (^^cc) other character
Code 205: (^^cd) other character
Code 206: (^^ce) other character
Code 207: (^^cf) other character
Code 208: (^^d0) other character
Code 209: (^^d1) other character
Code 210: (^^d2) other character
Code 211: (^^d3) other character
Code 212: (^^d4) other character
Code 213: (^^d5) other character
Code 214: (^^d6) other character
Code 215: (^^d7) other character
Code 216: (^^d8) other character
Code 217: (^^d9) other character
Code 218: (^^da) other character
Code 219: (^^db) other character
Code 220: (^^dc) other character
Code 221: (^^dd) other character
Code 222: (^^de) other character
Code 223: (^^df) other character
Code 224: (^^e0) other character
Code 225: (^^e1) other character
Code 226: (^^e2) other character
Code 227: (^^e3) other character
Code 228: (^^e4) other character
Code 229: (^^e5) other character
Code 230: (^^e6) other character
Code 231: (^^e7) other character
Code 232: (^^e8) other character
Code 233: (^^e9) other character
Code 234: (^^ea) other character
Code 235: (^^eb) other character
Code 236: (^^ec) other character
Code 237: (^^ed) other character
Code 238: (^^ee) other character
Code 239: (^^ef) other character
Code 240: (^^f0) other character
Code 241: (^^f1) other character
Code 242: (^^f2) other character
Code 243: (^^f3) other character
Code 244: (^^f4) other character
Code 245: (^^f5) other character
Code 246: (^^f6) other character
Code 247: (^^f7) other character
Code 248: (^^f8) other character
Code 249: (^^f9) other character
Code 250: (^^fa) other character
Code 251: (^^fb) other character
Code 252: (^^fc) other character
Code 253: (^^fd) other character
Code 254: (^^fe) other character
Code 255: (^^ff) other character

If compiled with xelatex (showing only the output for the range 256-512, because of length limit on answers)

Code 256: (Ā) letter
Code 257: (ā) letter
Code 258: (Ă) letter
Code 259: (ă) letter
Code 260: (Ą) letter
Code 261: (ą) letter
Code 262: (Ć) letter
Code 263: (ć) letter
Code 264: (Ĉ) letter
Code 265: (ĉ) letter
Code 266: (Ċ) letter
Code 267: (ċ) letter
Code 268: (Č) letter
Code 269: (č) letter
Code 270: (Ď) letter
Code 271: (ď) letter
Code 272: (Đ) letter
Code 273: (đ) letter
Code 274: (Ē) letter
Code 275: (ē) letter
Code 276: (Ĕ) letter
Code 277: (ĕ) letter
Code 278: (Ė) letter
Code 279: (ė) letter
Code 280: (Ę) letter
Code 281: (ę) letter
Code 282: (Ě) letter
Code 283: (ě) letter
Code 284: (Ĝ) letter
Code 285: (ĝ) letter
Code 286: (Ğ) letter
Code 287: (ğ) letter
Code 288: (Ġ) letter
Code 289: (ġ) letter
Code 290: (Ģ) letter
Code 291: (ģ) letter
Code 292: (Ĥ) letter
Code 293: (ĥ) letter
Code 294: (Ħ) letter
Code 295: (ħ) letter
Code 296: (Ĩ) letter
Code 297: (ĩ) letter
Code 298: (Ī) letter
Code 299: (ī) letter
Code 300: (Ĭ) letter
Code 301: (ĭ) letter
Code 302: (Į) letter
Code 303: (į) letter
Code 304: (İ) letter
Code 305: (ı) letter
Code 306: (IJ) letter
Code 307: (ij) letter
Code 308: (Ĵ) letter
Code 309: (ĵ) letter
Code 310: (Ķ) letter
Code 311: (ķ) letter
Code 312: (ĸ) letter
Code 313: (Ĺ) letter
Code 314: (ĺ) letter
Code 315: (Ļ) letter
Code 316: (ļ) letter
Code 317: (Ľ) letter
Code 318: (ľ) letter
Code 319: (Ŀ) letter
Code 320: (ŀ) letter
Code 321: (Ł) letter
Code 322: (ł) letter
Code 323: (Ń) letter
Code 324: (ń) letter
Code 325: (Ņ) letter
Code 326: (ņ) letter
Code 327: (Ň) letter
Code 328: (ň) letter
Code 329: (ʼn) letter
Code 330: (Ŋ) letter
Code 331: (ŋ) letter
Code 332: (Ō) letter
Code 333: (ō) letter
Code 334: (Ŏ) letter
Code 335: (ŏ) letter
Code 336: (Ő) letter
Code 337: (ő) letter
Code 338: (Œ) letter
Code 339: (œ) letter
Code 340: (Ŕ) letter
Code 341: (ŕ) letter
Code 342: (Ŗ) letter
Code 343: (ŗ) letter
Code 344: (Ř) letter
Code 345: (ř) letter
Code 346: (Ś) letter
Code 347: (ś) letter
Code 348: (Ŝ) letter
Code 349: (ŝ) letter
Code 350: (Ş) letter
Code 351: (ş) letter
Code 352: (Š) letter
Code 353: (š) letter
Code 354: (Ţ) letter
Code 355: (ţ) letter
Code 356: (Ť) letter
Code 357: (ť) letter
Code 358: (Ŧ) letter
Code 359: (ŧ) letter
Code 360: (Ũ) letter
Code 361: (ũ) letter
Code 362: (Ū) letter
Code 363: (ū) letter
Code 364: (Ŭ) letter
Code 365: (ŭ) letter
Code 366: (Ů) letter
Code 367: (ů) letter
Code 368: (Ű) letter
Code 369: (ű) letter
Code 370: (Ų) letter
Code 371: (ų) letter
Code 372: (Ŵ) letter
Code 373: (ŵ) letter
Code 374: (Ŷ) letter
Code 375: (ŷ) letter
Code 376: (Ÿ) letter
Code 377: (Ź) letter
Code 378: (ź) letter
Code 379: (Ż) letter
Code 380: (ż) letter
Code 381: (Ž) letter
Code 382: (ž) letter
Code 383: (ſ) letter
Code 384: (ƀ) letter
Code 385: (Ɓ) letter
Code 386: (Ƃ) letter
Code 387: (ƃ) letter
Code 388: (Ƅ) letter
Code 389: (ƅ) letter
Code 390: (Ɔ) letter
Code 391: (Ƈ) letter
Code 392: (ƈ) letter
Code 393: (Ɖ) letter
Code 394: (Ɗ) letter
Code 395: (Ƌ) letter
Code 396: (ƌ) letter
Code 397: (ƍ) letter
Code 398: (Ǝ) letter
Code 399: (Ə) letter
Code 400: (Ɛ) letter
Code 401: (Ƒ) letter
Code 402: (ƒ) letter
Code 403: (Ɠ) letter
Code 404: (Ɣ) letter
Code 405: (ƕ) letter
Code 406: (Ɩ) letter
Code 407: (Ɨ) letter
Code 408: (Ƙ) letter
Code 409: (ƙ) letter
Code 410: (ƚ) letter
Code 411: (ƛ) letter
Code 412: (Ɯ) letter
Code 413: (Ɲ) letter
Code 414: (ƞ) letter
Code 415: (Ɵ) letter
Code 416: (Ơ) letter
Code 417: (ơ) letter
Code 418: (Ƣ) letter
Code 419: (ƣ) letter
Code 420: (Ƥ) letter
Code 421: (ƥ) letter
Code 422: (Ʀ) letter
Code 423: (Ƨ) letter
Code 424: (ƨ) letter
Code 425: (Ʃ) letter
Code 426: (ƪ) letter
Code 427: (ƫ) letter
Code 428: (Ƭ) letter
Code 429: (ƭ) letter
Code 430: (Ʈ) letter
Code 431: (Ư) letter
Code 432: (ư) letter
Code 433: (Ʊ) letter
Code 434: (Ʋ) letter
Code 435: (Ƴ) letter
Code 436: (ƴ) letter
Code 437: (Ƶ) letter
Code 438: (ƶ) letter
Code 439: (Ʒ) letter
Code 440: (Ƹ) letter
Code 441: (ƹ) letter
Code 442: (ƺ) letter
Code 443: (ƻ) letter
Code 444: (Ƽ) letter
Code 445: (ƽ) letter
Code 446: (ƾ) letter
Code 447: (ƿ) letter
Code 448: (ǀ) letter
Code 449: (ǁ) letter
Code 450: (ǂ) letter
Code 451: (ǃ) letter
Code 452: (DŽ) letter
Code 453: (Dž) letter
Code 454: (dž) letter
Code 455: (LJ) letter
Code 456: (Lj) letter
Code 457: (lj) letter
Code 458: (NJ) letter
Code 459: (Nj) letter
Code 460: (nj) letter
Code 461: (Ǎ) letter
Code 462: (ǎ) letter
Code 463: (Ǐ) letter
Code 464: (ǐ) letter
Code 465: (Ǒ) letter
Code 466: (ǒ) letter
Code 467: (Ǔ) letter
Code 468: (ǔ) letter
Code 469: (Ǖ) letter
Code 470: (ǖ) letter
Code 471: (Ǘ) letter
Code 472: (ǘ) letter
Code 473: (Ǚ) letter
Code 474: (ǚ) letter
Code 475: (Ǜ) letter
Code 476: (ǜ) letter
Code 477: (ǝ) letter
Code 478: (Ǟ) letter
Code 479: (ǟ) letter
Code 480: (Ǡ) letter
Code 481: (ǡ) letter
Code 482: (Ǣ) letter
Code 483: (ǣ) letter
Code 484: (Ǥ) letter
Code 485: (ǥ) letter
Code 486: (Ǧ) letter
Code 487: (ǧ) letter
Code 488: (Ǩ) letter
Code 489: (ǩ) letter
Code 490: (Ǫ) letter
Code 491: (ǫ) letter
Code 492: (Ǭ) letter
Code 493: (ǭ) letter
Code 494: (Ǯ) letter
Code 495: (ǯ) letter
Code 496: (ǰ) letter
Code 497: (DZ) letter
Code 498: (Dz) letter
Code 499: (dz) letter
Code 500: (Ǵ) letter
Code 501: (ǵ) letter
Code 502: (Ƕ) letter
Code 503: (Ƿ) letter
Code 504: (Ǹ) letter
Code 505: (ǹ) letter
Code 506: (Ǻ) letter
Code 507: (ǻ) letter
Code 508: (Ǽ) letter
Code 509: (ǽ) letter
Code 510: (Ǿ) letter
Code 511: (ǿ) letter
Code 512: (Ȁ) letter

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.