## diffname port/latin1.c 1991/1108
## diff -e /dev/null /n/bootesdump/1991/1108/sys/src/9/port/latin1.c
binary files /tmp/diff100000696286 /n/bootesdump/1991/1108/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1991/1125
## diff -e /n/bootesdump/1991/1108/sys/src/9/port/latin1.c /n/bootesdump/1991/1125/sys/src/9/port/latin1.c
binary files /n/bootesdump/1991/1108/sys/src/9/port/latin1.c /n/bootesdump/1991/1125/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1991/1211
## diff -e /n/bootesdump/1991/1125/sys/src/9/port/latin1.c /n/bootesdump/1991/1211/sys/src/9/port/latin1.c
binary files /n/bootesdump/1991/1125/sys/src/9/port/latin1.c /n/bootesdump/1991/1211/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1991/1225
## diff -e /n/bootesdump/1991/1211/sys/src/9/port/latin1.c /n/bootesdump/1991/1225/sys/src/9/port/latin1.c
binary files /n/bootesdump/1991/1211/sys/src/9/port/latin1.c /n/bootesdump/1991/1225/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0219
## diff -e /n/bootesdump/1991/1225/sys/src/9/port/latin1.c /n/bootesdump/1992/0219/sys/src/9/port/latin1.c
binary files /n/bootesdump/1991/1225/sys/src/9/port/latin1.c /n/bootesdump/1992/0219/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0222
## diff -e /n/bootesdump/1992/0219/sys/src/9/port/latin1.c /n/bootesdump/1992/0222/sys/src/9/port/latin1.c
binary files /n/bootesdump/1992/0219/sys/src/9/port/latin1.c /n/bootesdump/1992/0222/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0226
## diff -e /n/bootesdump/1992/0222/sys/src/9/port/latin1.c /n/bootesdump/1992/0226/sys/src/9/port/latin1.c
binary files /n/bootesdump/1992/0222/sys/src/9/port/latin1.c /n/bootesdump/1992/0226/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0413
## diff -e /n/bootesdump/1992/0226/sys/src/9/port/latin1.c /n/bootesdump/1992/0413/sys/src/9/port/latin1.c
binary files /n/bootesdump/1992/0226/sys/src/9/port/latin1.c /n/bootesdump/1992/0413/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0821
## diff -e /n/bootesdump/1992/0413/sys/src/9/port/latin1.c /n/bootesdump/1992/0821/sys/src/9/port/latin1.c
binary files /n/bootesdump/1992/0413/sys/src/9/port/latin1.c /n/bootesdump/1992/0821/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0906
## diff -e /n/bootesdump/1992/0821/sys/src/9/port/latin1.c /n/bootesdump/1992/0906/sys/src/9/port/latin1.c
binary files /n/bootesdump/1992/0821/sys/src/9/port/latin1.c /n/bootesdump/1992/0906/sys/src/9/port/latin1.c differ
## diffname port/latin1.c 1992/0907
## diff -e /n/bootesdump/1992/0906/sys/src/9/port/latin1.c /n/bootesdump/1992/0907/sys/src/9/port/latin1.c
34c
L'º', 's','o', /* super o, masculine ordinal */
.
## diffname port/latin1.c 1994/0503
## diff -e /n/bootesdump/1992/0907/sys/src/9/port/latin1.c /n/fornaxdump/1994/0503/sys/src/brazil/port/latin1.c
244a
}
/*
* Given n characters k[0]..k[n-1], find the corresponding rune or return -1 for
* failure, or something < -1 if n is too small. In the latter case, the result
* is minus the required n.
*/
long
latin1(uchar *k, int n)
{
struct cvlist *l;
int c;
char* p;
if(k[0] == 'X')
if(n>=5)
return unicode(k);
else
return -5;
for(l=latintab; l->ld!=0; l++)
if(k[0] == l->ld[0]){
if(n == 1)
return -2;
if(l->ld[1] == 0)
c = k[1];
else if(l->ld[1] != k[1])
continue;
else if(n == 2)
return -3;
else
c = k[2];
for(p=l->si; *p!=0; p++)
if(*p == c)
return l->so[p - l->si];
return -1;
}
return -1;
.
216,226d
214a
/*
* Given 5 characters k[0]..k[4], find the rune or return -1 for failure.
*/
.
5,212c
char *ld; /* must be seen before using this conversion */
char *si; /* options for last input characters */
Rune *so; /* the corresponding Rune for each si entry */
} latintab[] = {
" ", " i", L"␣ı",
"!~", "-=~", L"≄≇≉",
"!", "!<=>?bmp", L"¡≮≠≯‽⊄∉⊅",
"\"*","IUiu", L"ΪΫϊϋ",
"\"", "AEIOUY\"aeiouy", L"ÄËÏÖÜŸ¨äëïöüÿ",
"$*", "fhk", L"ϕϑϰ",
"$", "BEFHILMoRVaefglpv", L"ℬℰℱℋℐℒℳℴℛƲɑℯƒℊℓ℘ʋ",
"'\"","Uu", L"Ǘǘ",
"'", "'ACEILNORSUYZacegilnorsuyz",
L"´ÁĆÉÍĹŃÓŔŚÚÝŹáćéģíĺńóŕśúýź",
"*", "*ABCDEFGHIKLMNOPQRSTUWXYZabcdefghiklmnopqrstuwxyz",
L"∗ΑΒΞΔΕΦΓΘΙΚΛΜΝΟΠΨΡΣΤΥΩΧΗΖαβξδεφγθικλμνοπψρστυωχηζ",
"+", "-O", L"±⊕",
",", ",ACEGIKLNORSTUacegiklnorstu",
L"¸ĄÇĘĢĮĶĻŅǪŖŞŢŲąçęģįķļņǫŗşţų",
"-*", "l", L"ƛ",
"-", "+-2:>DGHILOTZbdghiltuz~",
L"∓ƻ÷→ÐǤĦƗŁ⊖ŦƵƀðǥℏɨłŧʉƶ≂",
".", ".CEGILOZceglz", L"·ĊĖĠİĿ⊙Żċėġŀż",
"/", "Oo", L"Øø",
"1", "234568", L"½⅓¼⅕⅙⅛",
"2", "-35", L"ƻ⅔⅖",
"3", "458", L"¾⅗⅜",
"4", "5", L"⅘",
"5", "68", L"⅚⅝",
"7", "8", L"⅞",
":", "-=", L"÷≔",
"<!", "=~", L"≨⋦",
"<", "-<=>~", L"←«≤≶≲",
"=", ":<=>OV", L"≕⋜≡⋝⊜⇒",
">!", "=~", L"≩⋧",
">", "<=>~", L"≷≥»≳",
"?", "!?", L"‽¿",
"@@", "'EKSTYZekstyz", L"ьЕКСТЫЗекстыз",
"@'", "'", L"ъ",
"@C", "Hh", L"ЧЧ",
"@E", "Hh", L"ЭЭ",
"@K", "Hh", L"ХХ",
"@S", "CHch", L"ЩШЩШ",
"@T", "Ss", L"ЦЦ",
"@Y", "AEOUaeou", L"ЯЕЁЮЯЕЁЮ",
"@Z", "Hh", L"ЖЖ",
"@c", "h", L"ч",
"@e", "h", L"э",
"@k", "h", L"х",
"@s", "ch", L"щш",
"@t", "s", L"ц",
"@y", "aeou", L"яеёю",
"@z", "h", L"ж",
"@", "ABDFGIJLMNOPRUVXabdfgijlmnopruvx",
L"АБДФГИЙЛМНОПРУВХабдфгийлмнопрувх",
"A", "E", L"Æ",
"C", "ACU", L"⋂ℂ⋃",
"Dv", "Zz", L"DŽDž",
"D", "-e", L"Ð∆",
"G", "-", L"Ǥ",
"H", "-H", L"Ħℍ",
"I", "-J", L"ƗIJ",
"L", "&-Jj|", L"⋀ŁLJLj⋁",
"N", "JNj", L"NJℕNj",
"O", "*+-./=EIcoprx", L"⊛⊕⊖⊙⊘⊜ŒƢ©⊚℗®⊗",
"P", "P", L"ℙ",
"Q", "Q", L"ℚ",
"R", "R", L"ℝ",
"S", "S", L"§",
"T", "-u", L"Ŧ⊨",
"V", "=", L"⇐",
"Y", "R", L"Ʀ",
"Z", "-Z", L"Ƶℤ",
"^", "ACEGHIJOSUWYaceghijosuwy",
L"ÂĈÊĜĤÎĴÔŜÛŴŶâĉêĝĥîĵôŝûŵŷ",
"_\"","AUau", L"ǞǕǟǖ",
"_.", "Aa", L"Ǡǡ",
"_,", "Oo", L"Ǭǭ",
"_", "_AEIOUaeiou", L"¯ĀĒĪŌŪāēīōū",
"`\"","Uu", L"Ǜǜ",
"`", "AEIOUaeiou", L"ÀÈÌÒÙàèìòù",
"a", "ben", L"↔æ∠",
"b", "()+-0123456789=bknpqru",
L"₍₎₊₋₀₁₂₃₄₅₆₇₈₉₌♝♚♞♟♛♜•",
"c", "$Oagu", L"¢©∩≅∪",
"dv", "z", L"dž",
"d", "-adegz", L"ð↓‡°†ʣ",
"e", "ls", L"⋯∅",
"f", "a", L"∀",
"g", "$-r", L"¤ǥ∇",
"h", "-v", L"ℏƕ",
"i", "-bfjps", L"ɨ⊆∞ij⊇∫",
"l", "\"$&'-jz|", L"“£∧‘łlj⋄∨",
"m", "iou", L"µ∈×",
"n", "jo", L"nj¬",
"o", "AOUaeiu", L"Å⊚Ůåœƣů",
"p", "Odgrt", L"℗∂¶∏∝",
"r", "\"'O", L"”’®",
"s", "()+-0123456789=abnoprstu",
L"⁽⁾⁺⁻⁰¹²³⁴⁵⁶⁷⁸⁹⁼ª⊂ⁿº⊃√ß∍∑",
"t", "-efmsu", L"ŧ∃∴™ς⊢",
"u", "-AEGIOUaegiou", L"ʉĂĔĞĬŎŬ↑ĕğĭŏŭ",
"v\"","Uu", L"Ǚǚ",
"v", "ACDEGIKLNORSTUZacdegijklnorstuz",
L"ǍČĎĚǦǏǨĽŇǑŘŠŤǓŽǎčďěǧǐǰǩľňǒřšťǔž",
"w", "bknpqr", L"♗♔♘♙♕♖",
"x", "O", L"⊗",
"y", "$", L"¥",
"z", "-", L"ƶ",
"|", "Pp|", L"Þþ¦",
"~!", "=", L"≆",
"~", "-=AINOUainou~", L"≃≅ÃĨÑÕŨãĩñõũ≈",
0, 0, 0
.
3c
/*
* The code makes two assumptions: strlen(ld) is 1 or 2; latintab[i].ld can be a
* prefix of latintab[j].ld only when j<i.
*/
struct cvlist
.
1c
#include <u.h>
.
## diffname port/latin1.c 1996/1104
## diff -e /n/fornaxdump/1994/0503/sys/src/brazil/port/latin1.c /n/fornaxdump/1996/1104/sys/src/brazil/port/latin1.c
96c
"e", "lmns", L"⋯—–∅",
.
## diffname port/latin1.c 1997/0308
## diff -e /n/fornaxdump/1996/1104/sys/src/brazil/port/latin1.c /n/emeliedump/1997/0308/sys/src/brazil/port/latin1.c
binary files /n/fornaxdump/1996/1104/sys/src/brazil/port/latin1.c /n/emeliedump/1997/0308/sys/src/brazil/port/latin1.c differ
## diffname port/latin1.c 1997/0327
## diff -e /n/emeliedump/1997/0308/sys/src/brazil/port/latin1.c /n/emeliedump/1997/0327/sys/src/brazil/port/latin1.c
binary files /n/emeliedump/1997/0308/sys/src/brazil/port/latin1.c /n/emeliedump/1997/0327/sys/src/brazil/port/latin1.c differ
## diffname port/latin1.c 1999/0819
## diff -e /n/emeliedump/1997/0327/sys/src/brazil/port/latin1.c /n/emeliedump/1999/0819/sys/src/brazil/port/latin1.c
39c
":", ")-=", L"☺÷≔",
.
## diffname port/latin1.c 1999/1005
## diff -e /n/emeliedump/1999/0819/sys/src/brazil/port/latin1.c /n/emeliedump/1999/1005/sys/src/brazil/port/latin1.c
154c
latin1(Rune *k, int n)
.
128c
unicode(Rune *k)
.
## diffname port/latin1.c 2000/0314
## diff -e /n/emeliedump/1999/1005/sys/src/brazil/port/latin1.c /n/emeliedump/2000/0314/sys/src/9/port/latin1.c
13,120c
#include "../port/latin1.h"
.
|