4 title => 'latin alphabet cheat sheet',
9 latin roman alphabet script letter unicode font glyph abc
10 code encoding spelling symbol writing comparison character
11 secret cursive fraktur blind braille morse deaf asl hand
12 barcode bar color semaphore flag
14 stylesheet => [qw( light dark red mono )],
15 data => ['writing-latn.inc.pl'],
21 font-family: Suetterlin; /* R. G. Arens */
22 src: url("/suetterlin.ttf");
24 #sütterlin td { font-family: Suetterlin }
29 word-spacing: 5em; /* force line break between words */
39 font-family: Symbola, "DejaVu Sans", serif, sans;
42 stroke-linecap: square;
46 stroke-linecap: round;
47 stroke-linejoin: round;
53 width: auto !important;
57 vertical-align: middle;
61 #old-roman-cursive .sample span {
74 #tap-code .sample span,
75 #short-tap .sample span {
79 #sutton-asl .sample span,
80 #maritime-flags .sample span,
87 #nyctographs .sample svg {
88 background: rgba(0,0,0, .1);
92 #unistrokes svg path {
93 stroke-linecap: round;
94 stroke-linejoin: round;
97 svg path:not([fill]) {
101 svg circle:not([fill]) {
109 vertical-align: middle;
113 <h1>Latin alphabet</h1>
115 <p id=intro>Variant encodings of the common ASCII (latin, roman,
116 or <span title="fuck yeah!">'mercan</span>) letters A–Z.
117 Also see <a href="/writing">related alphabets</a>
118 and <a href="/chars/abc">font comparison</a>.</p>
123 use List::Util qw( pairs );
125 my @table = do 'writing-latn.inc.pl';
127 Alert("Table data not found", $@ || $!);
130 my %VOWELCOLS = (map { ($_ => 1) } 0, 4, 8, 14, 20, 24);
131 say '<table class="glyphs">';
132 say '<thead><tr><th># <small>ASCII − 64</small>';
133 print '<td>', $_ for 1 .. 26;
136 for my $row (pairs @table) {
137 my ($title, $cells) = @{$row};
138 printf '<tr id="%s">', (lc $title) =~ s/<[^>]+>//gr =~ s/\s+/-/gr;
149 push @class ,'l0' if $VOWELCOLS{$col - $colspan};
150 push @class, $_ ? 'ex' : 'u-invalid' if s/^-//;
154 # special character for sample generation
155 print ' hidden'; # sample only
158 print ' title=', chr($col + ord('A') - $colspan);
161 print " colspan=$colspan";
164 printf ' class="%s"', "@class" if @class;
174 <script type="text/javascript" src="/latinsample.js"></script>
175 <script type="text/javascript"> prependinput(document.getElementById('intro')) </script>