per page, with , order by , clip by
Results of 1 - 1 of about 2 for acel (0.000 sec.)
Elefen al cyrillico, interlingua al greco
#score: 11228
@digest: 54888a2c92d0cb94be0e987c1e8cd92b
@id: 646
@lang: ia
@size: 5478
@type: text/html
content-type: text/html; charset=UTF-8
viewport: width=device-width, initial-scale=1
#keywords: alphabet (30241), tabval (28991), lowercase (28965), inentity (28134), conv (24651), baseval (24371), greco2 (22676), strcmp (18816), intag (18756), greco (15598), static (14851), 0x0a (13911), 0x15 (13814), tolower (13353), cyrillico (12773), argv (12602), convert (11794), sigma (11037), isascii (11037), isalpha (10985), fpi (10596), include (10168), else (9866), int (9495), elefen (9344), index (9331), charts (9310), column (8941), argc (8612), converter (8427), 0x0390 (7815), u0370 (7815)
Pro un explication, vide illac . /* Le 3 de martio 2018. Converter un texto in elefen (lingua franca nova) del scriptura latin al cyrillic. Vide etiam http://rudhar.com/lingtics/intrlnga/scrptura/ia.htm Le 13 de martio 2018: secunde schema pro converter interlingua al scriptura grec. */ #include <stdlib.h> #include <stdio.h> #include <string.h> #include <ctype.h> int conv_table[][3] = { /* Cyrillico pro elefen primo, greco pro interlingua secundo. In le tertie columna un altere variante de greco. Vide http://rudhar.com/lingtics/uniclnkl.htm, http://unicode.org/charts/PDF/U0400.pdf e http://unicode.org/charts/PDF/U0370.pdf */ /* Base value 1st column: 0410, 2nd & 3rd: 0390 */ /* a */ { 0x00, 0x01, 0x01}, /* b */ { 0x01, 0x02, 0x02}, /* c */ { 0x0a, 0x0a, /* kappa, ma vide in basso pro theta */ 0x69}, /* 3rd column: lunate sigma */ /* d */ { 0x04, 0x04, 0x04}, /* e */ { 0x05, 0x05, 0x05}, /* f */ { 0x14, 0x16, 0x16}, /* g */ { 0x03, 0x03, 0x03}, /* h */ { 0x15, 0x07, 0x07}, /* i */ { 0x08, 0x09, 0x09}, /* j */ { 0x06, 0x17, 0x17}, /* k */ { -1, 0x0a, 0x0a}, /* l */ { 0x0b, 0x0b, 0x0b}, /* m */ { 0x0c, 0x0c, 0x0c}, /* n */ { 0x0d, 0x0d, 0x0d}, /* o */ { 0x0e, 0x0f, 0x0f}, /* p */ { 0x0f, 0x10, 0x10}, /* q */ { -1, 0x18, 0x48}, /* 3rd column: archaic qoppa */ /* r */ { 0x10, 0x11, 0x11}, /* s */ { 0x11, 0x13, 0x13}, /* t */ { 0x12, 0x14, 0x14}, /* u */ { 0x13, 0x15, 0x15}, /* v */ { 0x02, 0x15, 0x4c}, /* 3rd column: digamma */ /* w */ { -1, 0x19, 0x19}, /* x */ { 0x18, 0x0e, 0x0e}, /* y */ { -1, 0x12, 0x18}, /* z */ { 0x07, 0x06, 0x06}, /* safety stop */ {-1, -1, -1}, }; static int convert (int c, FILE *fpi, FILE *fpo); static enum {CYRILL = 0, GRECO = 1, GRECO2 = 2} conv_alphabet = CYRILL; static int baseval = 0x0410; int main (int argc, char **argv) { FILE *fpi = stdin, *fpo = stdout; int c; int intag = 0, inentity = 0; if ((argc > 2 && argv[1][0] == '-' && strcmp(argv[2], "el") == 0) || (argc > 1 && strcmp(argv[1], "-lel") == 0)) { conv_alphabet = GRECO; baseval = 0x0390; } else if ((argc > 2 && argv[1][0] == '-' && strcmp(argv[2], "el2") == 0) || (argc > 1 && strcmp(argv[1], "-lel2") == 0)) { conv_alphabet = GRECO2; baseval = 0x0390; } while ((c = getc(fpi)) != EOF) { if (!intag && c == '<') intag = 1; else if (intag && c == '>') intag = 0; else if (!inentity && c == '&') inentity = 1; else if (inentity && c == ';') inentity = 0; if (intag || inentity) putc(c, fpo); else convert(c, fpi, fpo); } return 0; } static int convert (int c, FILE *fpi, FILE *fpo) { if (!isascii(c) || !isalpha(c)) { putc(c, fpo); } else { int tabval, index, extra_for_lowercase = 1; static int prev_was_c = 0; if (isupper(c)) { index = c - 'A'; extra_for_lowercase = 0; } else { index = c - 'a'; extra_for_lowercase = 0x20; if (conv_alphabet == GRECO2) { switch (tolower(c)) { case 'c': extra_for_lowercase = -7; break; case 'q': case 'v': extra_for_lowercase = 1; break; } } } /* Safety first */ if (index >= 26) index = 26; tabval = conv_table[index][conv_alphabet]; if (tabval < 0) { putc(c, fpo); } else { int n; tabval += baseval + extra_for_lowercase; if (conv_alphabet == GRECO) { if (isascii(c) && tolower(c) == 'c') { n = getc(fpi); if (strchr("eiyEIY", n) != NULL || (strchr("hH" , n) != NULL && !prev_was_c)) { tabval = islower(c) ? 0x03b8 : 0x0398; /* theta */ } ungetc(n, fpi); } else if (tabval == 0x03a2) /* For Interlingua: Final sigma (used for y) has no uppercase form. Use "upsilon with a hook" instead. See http://unicode.org/charts/PDF/U0370.pdf */ { tabval = 0x03d2; } } else if (conv_alphabet == GRECO2) { if (c == 's') { n = getc(fpi); if (!isalpha(n)) { /* Final lowercase sigma as in real Greek */ tabval = 0x03c2; } ungetc(n, fpi); } } fprintf(fpo, " ...
https://rudhar.com/lingtics/intrlnga/scrptura/lfn-cyr.c.htm - [detail] - [similar]
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 1747 documents and 81033 words.