2012-11-24 12 views
9

enter image description hereGenerazione dinamica Ge'ez unicodes

Ciao. Se guardi l'immagine qui sopra, vedrai una serie di caratteri dall'aspetto molto strano visualizzati insieme ad alcuni caratteri latini. Quelli strani sono i personaggi eritrei. Sono i personaggi che usiamo nel mio paese. Quindi, per andare dritto al punto, spero di creare anche il più semplice bit di software o forse anche un file batch (se possibile) per aiutarmi a rendere questi caratteri applicabili sul web e far capire e mostrare i PC quando sono digitato. Proprio come i caratteri arabi, indù, cinesi ... sono usati. Penso che, poiché la questione della "creazione di una lingua" è spesso rara o perché non conosco il termine corretto da usare, quando ho cercato su Internet per trovare qualche tutorial o anche un libero professionista o altro, tutto quello che ho ottenuto è stato ... Niente. Quindi, spero, se qualcuno può darmi una guida passo-passo, o anche solo un indizio su come creare questo, sarebbe molto utile.

Grazie.

+2

Sembra che tutti questi caratteri siano definiti in Unicode. http://en.wikipedia.org/wiki/Tigrinya_language Dovresti essere in grado di includerli nel contenuto web (con codifica UTF-8) oppure potresti utilizzare entità HTML come ቘ per "ቘ". – ddoxey

+2

Questi personaggi hanno qualcosa in comune con i caratteri etiopici (scaricabile da [Unicode Code Charts] (http://www.unicode.org/charts/)), con i codici negli intervalli U + 1200..U + 137C, U + 1380..U + 1399, U + 2D80..U + 2DDE e U + AB00..U + AB2E? In caso contrario, è probabile che sia necessario utilizzare alcuni intervalli di caratteri di uso privato (U + E000..U + F8FF o U + F0000..U + 10FFFF), almeno finché non si riconoscono i caratteri eritrei di Unicode. –

+0

@ddoxey - Ho sempre pensato che fosse necessario un programma software per rendere i caratteri visualizzabili su qualsiasi PC, altrimenti non è possibile vedere i personaggi. Ma, mi sembra di aver sbagliato, perché se riesci a vedere '& # 4696' nel tuo PC, significa che sono visualizzabili in tutti i browser senza installare software. Non ho mai saputo cosa significasse l'unicode significato fino ad ora. Questo significa che posso creare uno script sul mio sito che cambia le piccole immagini in codici html e postare i caratteri ..? Se è così, sarebbe un'idea per salvare la vita. – samayo

risposta

26

La tua domanda chiede "come creare una lingua", quindi descriverò tutti i pezzi che devono essere in atto per una nuova lingua (o più accuratamente, sistema di scrittura). Mi chiedi in particolare sull'alfabeto eritreo, quindi fornirò esempi specifici di come è supportato sui sistemi moderni, e cerco di fornirti indicazioni per i pezzi che ti mancano. La risposta è lunga e fornisce molti collegamenti per supportare le due spiegazioni.

Per lavorare con uno script come Ge'ez (noto anche come etiopico, lo script utilizzato per scrivere l'amarico in Etiopia e Tigrinya in Eritrea) sono necessarie alcune cose. Il primo è un modo per codificare i personaggi; una serie di numeri che rappresentano ciascun carattere, che il computer può utilizzare per rappresentare il testo. Fortunatamente, lo standard Unicode si è diffuso e Unicode è stato progettato per essere un set di caratteri universale che include tutte le lingue del mondo. Unicode 3.0 ha introdotto Etiopia nello range U+1200-U+137F e le versioni successive hanno aggiunto integratori di caratteri più oscuri negli intervalli U+1380-U+1394, U+2D80-U+2DDF e U+AB00-U+AB2F. Se si desidera supportare un linguaggio non ancora supportato da Unicode, è necessario utilizzare lo private use area e definire la propria mappatura dei caratteri ai punti di codice o submit a proposal per aggiungere lo script a Unicode; ad esempio, vedere la proposta per Ethiopic.

Ora, Unicode è solo un character set; una mappatura astratta tra caratteri e numeri. Per trasmettere effettivamente questi caratteri come una sequenza di byte, si utilizza uno character encoding. Ci sono molte codifiche; alcuni di essi, come ASCII e ISO-8859-1 coprono solo un sottoinsieme del set completo di caratteri Unicode, mentre altri, come UTF-8 e UTF-16, coprono l'intera gamma. Per i documenti sul Web, UTF-8 è la codifica dei caratteri consigliata; non dovresti mai usare nient'altro se puoi aiutarlo. In UTF-8, puoi scrivere Ge'ez direttamente nel documento, ad esempio: ኤርትራ. Una cosa a cui prestare attenzione è che alcuni programmi (specialmente su Windows) offriranno "Unicode" come codifica, quando significano UTF-16; vuoi assicurarti di scegliere UTF-8, in quanto è più efficiente e più compatibile con una più ampia varietà di software.

Se si utilizzano codifiche che non coprono l'intera gamma di Unicode, o non si dispone di un buon modo per digitare quei caratteri, e si sta scrivendo HTML o XML, è possibile utilizzare invece numeric character references. Per fare ciò, si scrive il punto di codice Unicode del carattere che si desidera fare riferimento tra &# e ;. È possibile scrivere il numero in decimale o in esadecimale con prefisso x.Ad esempio, & # x1200; può essere scritto ሀ o ሀ (il punto e virgola alla fine è importante, non funzionava nei commenti perché mancava).

Ora che si dispone di un set di caratteri e di un modo per codificarlo, è necessario un modo per visualizzarlo. Alcuni script sono più facili da visualizzare in altri. Per tutti gli script, è necessario un font; un file che definisce come appare ogni personaggio. Un tipo di carattere contiene una raccolta di glifi o disegni di ciascun carattere. Alcuni script, come lo Latin alphabet (l'alfabeto utilizzato per l'inglese e la maggior parte delle lingue europee) sono relativamente semplici; ogni carattere è un glifo separato, e il modo in cui vengono disegnati non dipende da quali caratteri vengono prima o dopo (anche se diacritics e ligatures possono renderlo un po 'più complicato). Altri, come Arabic e Indic scripts sono scritti in corsivo, dove le lettere si uniscono tra loro in modo che il modo in cui vengono disegnate possa dipendere dai personaggi vicini. Queste lingue richiedono un supporto di rendering speciale come Uniscribe o DirectWrite su Windows, Pango su Linux o tecnologia di font avanzata come Apple Advanced Typography o Graphite.

Fortunatamente, Ge'ez è un sistema di scrittura abbastanza semplice, che non richiede alcun supporto specializzato in rending o sistemi di font avanzati. Ciascuno dei personaggi è un glifo separato e non richiede alcun riordino. Quindi un normale font OpenType, visualizzato con i sistemi di rendering già disponibili sulla maggior parte dei computer, farà il lavoro. Ma hai ancora bisogno del font per poter visualizzare i personaggi. Per creare il proprio carattere, è possibile utilizzare FontForge (uno strumento gratuito/open source), Fontographer, FontLab Studio o altro software simile.

Per l'etiope, non è necessario crearne di propri. Ci sono numerous fonts available che includono i caratteri etiopici, ma uno che raccomanderei è Abyssinica SIL da SIL (l'Istituto estivo di linguistica), che fa un grande lavoro per le lingue minoritarie e sistemi di scrittura. I loro font sono disponibili con free license, che consente di utilizzare il carattere, ridistribuire il carattere e modificare il carattere, in modo che i caratteri siano abbastanza flessibili e possano essere utilizzati in un'ampia varietà di situazioni. Windows viene fornito con Nyala, che include caratteri etiopi, da Windows Vista, e Ebrima, che ha aggiunto il supporto per i caratteri etiopi in Windows 8; quindi le persone su Windows Vista o versioni successive dovrebbero essere in grado di visualizzare i caratteri etiopi già. Mac OS X viene fornito con Kefa as of 10.6.

Una volta ottenuto il carattere, sarà possibile visualizzare i caratteri etiopi. Ma altre persone che leggono i tuoi documenti potrebbero non avere quei tipi di carattere (se usano una versione precedente di Windows o Mac OS X, se non hanno installato tutti i tipi di carattere forniti con Windows, o simili), nel qual caso il i personaggi verranno probabilmente visualizzati come scatole o punti interrogativi sulla loro macchina. Potresti dare a quelle persone un font ridistribuibile come Abyssinica SIL, oppure potrebbero acquistare un font che include caratteri etiopici, ma questo può essere scomodo. Per lavorare con documenti di word processor o testo semplice, probabilmente è il meglio che puoi fare; avranno bisogno del font installato sul loro computer per poter visualizzare il testo. Se si crea un PDF sul computer, è necessario incorporare i caratteri necessari per visualizzare il testo, pertanto la creazione di un PDF può essere un modo conveniente per includere caratteri non comuni nel documento.

In una pagina Web, è possibile utilizzare web fonts per collegarsi a un tipo di carattere dal foglio di stile, consentendo al browser Web dell'utente di caricare quel tipo di carattere per quella pagina Web. I caratteri Web sono supportati all the way back to IE 6 e nelle versioni recenti della maggior parte degli altri browser Web, quindi sono supportati in modo abbastanza ampio.Browser Web diversi supportano diversi formati di file di font (EOT, TTF, OpenType, SVG e WOFF) e sintassi leggermente diverse per il CSS (le versioni precedenti di IE si basano su una bozza precedente), quindi può essere un po 'complicato una pagina che è compatibile con tutti i browser. Fortunatamente, le persone hanno automatizzato questo processo. Alcuni tipi di carattere Web sono disponibili online da Google Web Fonts o FontSquirrel, ma purtroppo non sono riuscito a trovare font Etiopici già ospitati. Tuttavia, è possibile upload a font to FontSquirrel e lo convertirà in tutti i principali formati e fornirà un esempio di CSS che funzionerà su tutti i browser moderni. Nota che dovresti farlo solo con i caratteri che consentono l'incorporamento web; non tutti i tipi di carattere. Poiché Abyssinica SIL è disponibile con la Open Font License, è possibile utilizzarlo e l'ho eseguito tramite FontSquirrel per te; puoi see how it works (consulta la scheda Lingue degli glifi &) o download the kit. Per usarlo, basta mettere i file dei font (.ttf, .eot, .svg, e .woff) sul vostro server nella stessa directory del CSS, e comprendono quanto segue nel CSS:

@font-face { 
    font-family: 'abyssinica_silregular'; 
    src: url('abyssinicasil-r.eot'); 
    src: url('abyssinicasil-r.eot?#iefix') format('embedded-opentype'), 
     url('abyssinicasil-r.woff') format('woff'), 
     url('abyssinicasil-r.ttf') format('truetype'), 
     url('abyssinicasil-r.svg#abyssinica_silregular') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

Ora che sapete come per codificare l'Etiopia, visualizzare i caratteri etiopici e condividere documenti contenenti caratteri etiopi, probabilmente vorrai scriverli in documenti. Se stai usando HTML, puoi semplicemente digitare il riferimento numerico dei caratteri descritto sopra. In altri documenti, puoi semplicemente copiare e incollare i caratteri da una tabella di tutti loro, come la pagina di Wikipedia. Ma sarebbe diventato piuttosto ingombrante. A seconda del sistema e delle impostazioni, è inoltre possibile utilizzare Unicode Hex Input per immettere caratteri Unicode arbitrari, ma anche questo è ingombrante.

Per supportare completamente la digitazione di uno script sul computer, è necessario un keyboard layout o input method. Alcuni script possono essere digitati con un semplice layout di tastiera, che indica quali tasti corrispondono a quali caratteri. Se uno script ha più caratteri di quanti sono i tasti sulla tastiera, è possibile utilizzare Shift e Alt (o Opzione sul Mac) per mappare più caratteri. Dead keys può anche essere utilizzato per espandere l'intervallo di caratteri che si digita; dead keys sono sequenze di due o più sequenze di tasti che producono un singolo glifo; ad esempio, su Mac OS X, per digitare "á", è possibile digitare Opzione-EA. Per creare un layout di tastiera su Windows, è possibile utilizzare lo Microsoft Keyboard Layout Creator. Mac OS X utilizza an XML format per i layout di tastiera, quindi puoi crearne uno direttamente oppure utilizzare Ukelele da SIL per crearne uno con più facilità. Sui sistemi che usano X11 (come Linux), è possibile create your own XKB layouts.

Se sono necessari più caratteri di quanti possano essere supportati con modificatori e chiavi morte, come la digitazione di cinese o giapponese, è necessario un metodo di immissione completo. Un metodo di input consente di eseguire codice arbitrario per mappare ciò che qualcuno digita nel testo che produce; ad esempio, in un metodo di input giapponese, puoi digitare una rappresentazione fonetica di ciò che stai scrivendo, e ti mostrerà un elenco a discesa di possibili caratteri che corrispondono a quella rappresentazione, permettendoti di scegliere quelli appropriati. Windows fornisce lo Input Method Manager per scrivere i metodi di input, Mac OS X Input Method Kit e X11 ha alcuni modi per farlo, come ad esempio SCIM e iBus.

Il standard input method per l'etiope fa ampio uso di chiavi morte. Sembra che il metodo di input esistente più popolare per l'etiope sia Keyman, che è un metodo di input commerciale che funziona su Mac e Windows e inoltre c'è una variante gratuita, KMFL, che funziona su Linux. SIL ha keyboard downloads per questo metodo di input; hanno anche un layout di tastiera per Mac OS X che utilizza i dead key per ottenere la stessa cosa.Mac OS X ha un supporto per dead key più esteso, quindi non richiede un metodo di input per supportare questo tipo di input, mentre su Windows è necessario utilizzare un metodo di input come Keyman per poter inserire input in questo modo. Google ha un metodo di immissione gratuito per Windows, Google Input Tools for Windows, che supporta Amharic e consente di eseguire customize its input schemes; potresti provare ad adattare il loro supporto amarico a Tigrinya.

Se hai solo bisogno di supportare l'input su un sito web, puoi farlo in JavaScript, scrivendo un metodo di input in JavaScript che traslittera da ciò che qualcuno digita in Etiopia. Non conosco alcun quadro esistente per farlo; tuttavia, ho trovato i metodi di input Korean e Japanese implementati in JavaScript. Potresti dare un'occhiata a come sono implementati. Dopo aver esaminato ulteriormente, ho scoperto che Tavultesoft, che produce Keyman, ha anche KeymanWeb, un metodo di input basato su JavaScript che è possibile acquistare e incorporare nel proprio sito. MediaWiki ha anche un'estensione del metodo di input Narayam, che include un metodo di input basato su JavaScript per siti basati su MediaWiki come Wikipedia, che include un metodo di input amarico sperimentale. C'è anche un draft W3C IME API, che aiuta a fornire un'interfaccia tra applicazioni Web e IME nativi, nonché IME basati su JavaScript. Dato che è ancora una bozza, non so se è ancora supportato ovunque.

Con tutto quanto sopra (un set di caratteri, codifica, caratteri, supporto di rendering e un metodo di input), sarete in grado di creare, condividere e visualizzare i documenti nel vostro script. Se è tutto ciò di cui hai bisogno, grande; Quanto sopra ti consentirà di lavorare con i documenti in un determinato script. Ma per il pieno supporto per una lingua sul tuo computer, non solo per il suo script o sistema di scrittura, ci sono altri due pezzi di cui hai bisogno: uno locale e il tuo software da localizzare (tradotto e adattato) per la tua lingua.

Una locale specifica come i programmi devono manipolare il testo in un determinato script, lingua, cultura e/o codifica. Esistono molte operazioni comuni di elaborazione del testo eseguite dai programmi: visualizzazione di numeri, visualizzazione di date e orari, ordinamento di stringhe o nomi e così via. Il modo in cui questi dovrebbero funzionare può differire in base alla lingua, al copione e alla cultura della persona che utilizza il programma; per esempio, in svedese "ü" è ordinato insieme a "y", mentre in inglese e tedesco è ordinato insieme a "u". Le differenze non possono essere basati sul linguaggio: sia il Messico e la Spagna utilizzano spagnola, ma in numero Messico vengono visualizzati con . come separatore decimale (1½ è scritto "1.5"), mentre in Spagna , viene utilizzato come separatore decimale (1½ è scritto "1,5"). Una locale specifica tutte queste regole. Poiché le impostazioni internazionali possono variare in base alla lingua, alla cultura e, a volte, a altri fattori, la lingua e il paese vengono solitamente utilizzati per specificare le impostazioni internazionali e altre informazioni possono essere utilizzate.

Lo standard più utilizzato per la denominazione delle versioni locali è RFC 4646 (BCP 47). Locali sono di solito specificate come " ln- CC" con il codice della lingua ln e il prefisso nazionale CC: EUR inglese è en-US, l'inglese britannico è en-Regno Unito, e il francese in Francia è it-IT . Se è necessario specificare più informazioni, è possibile includerle. Ad esempio, Serbian può essere scritto sia in latino sia in Cyrillic, quindi Serbian in Serbia può essere sr-Latn-CS o sr-Cyrl-CS. Tigrinya in Eritrea è scritto ti-ER.

Esistono diversi formati per la definizione delle regole di una determinata locale. Windows utilizza i file NLP, un formato personalizzato che può essere creato con Microsoft Locale Builder. Le localizzazioni POSIX (Unix/Linux) possono essere create usando localedef. Oggi molti sistemi si stanno spostando verso il Unicode Common Locale Data Registry, che specifica un formato standardizzato per i dati delle impostazioni locali e un database completo di impostazioni locali per molte delle lingue del mondo.ICU è una libreria per C e Java (e utilizzata da molti altri ambienti) per la manipolazione del testo Unicode in base alle regole Unicode e ai dati delle impostazioni internazionali; hanno un buon browser per i dati dal CLDR e i loro dati locali. Ad esempio, dai un'occhiata alla loro voce per ti-ER.

Infine, per il pieno supporto di una lingua, è necessario tradurre il software stesso in quella lingua. Ci sono, naturalmente, molti software e ognuno contiene molte stringhe che devono essere tradotte. Alcuni software non sono progettati per essere tradotti; non è stato internationalized. Alcuni software possono essere tradotti solo da chiunque lo abbia creato; le stringhe sono integrate nel programma e non possono essere facilmente modificate da terzi. Ma è possibile localizzare alcuni software, traducendoli nella tua lingua e cultura. Se il software è già stato localizzato per molte altre lingue e culture, è probabile che sia sufficientemente flessibile per supportare una nuova lingua e, se utilizza formati facilmente modificabili per le informazioni di localizzazione, può essere modificato da terze parti.

Ad esempio, le applicazioni su Mac OS X memorizzano i dati di localizzazione in file separati all'interno del pacchetto di applicazioni. C'è uno strumento chiamato AppleGlot (devi registrarti per il Mac Developer Program e andare nell'area download per trovarlo) che può aiutarti a estrarre quei dati, fornire un file con tutte le stringhe che devono essere tradotte e permetterti di combinalo nuovamente con l'applicazione una volta che hai. Per software open source, come molti software disponibili su Linux, puoi collaborare con gli sviluppatori per fornire traduzioni. Alcuni software utilizzano gettext per le stringhe di traduzione, che utilizzano il formato file PO che è possibile modificare utilizzando poedit. Alcuni usano Qt, per cui è possibile utilizzare Qt Linguist. Oppure per gestire un'ampia varietà di formati, è possibile utilizzare un'offerta commerciale come Swordfish o Transifex.

Ovviamente, nessuna persona può fare tutto quanto sopra; ci vogliono molte persone che lavorano insieme per costruire il supporto per una nuova lingua sui moderni sistemi informatici. Tutto questo è inteso per essere un tour di alto livello di tutti i componenti che vanno in supporto linguistico per una determinata lingua, con riferimenti che ti aiuteranno a dare seguito a qualsiasi aspetto su cui vorresti lavorare, oltre a dimostrare ciò che già lavora per Tigrinya e per la sceneggiatura di Ge'ez.

+0

Sto per andare a dormire, ma questa è la prima cosa che leggerò quando mi sveglio domani, penso che questa sia 'la risposta delle risposte' Sono sicuro che questo è più di quello che stavo cercando, non posso ringraziarti abbastanza. Lo controllerò domani, dato che sono stanco e non riesco a capire niente ora. – samayo

+2

@Eritrea Felice di aiutare, buona fortuna a leggerlo la mattina, fammi sapere se hai qualche domanda. –

+0

Questo è semplicemente geniale !! –

3

Se sono caratteri Unicode, dovrebbero essere visualizzabili come i caratteri di qualsiasi altra lingua. Googled e trovato questo, si spera che siano gli stessi che si sta chiedendo:

የ ዩ ዪ ያ ዬ ይ ዮ

ዸ ዺ ዻ ዼ ዽ ዾ

Vedi? Nessun ulteriore lavoro richiesto per visualizzarli su browser Web o altri programmi.


Questi sono i caratteri del set Unicode Etiope (U + 1200..U + 137C), codificato in UTF-8:

Linea 1:

  • የ = 0xE1 0x8B 0xa8 = U + 12E8 = Etiope, sillaba YA
  • ዩ = 0xE1 0x8B 0xA9 = U + 12E9 = Etiope, sillaba YU
  • ዪ = 0xE1 0x8B 0xAA = U + 12EA = Etiope, sillaba YI
  • ያ = 0xE1 0x8B 0xAB = U + 12EB = Etiope, sillaba YAA
  • ዬ = 0xE1 0x8B 0xac = U + 12EC = Etiope, sillaba YEE
  • ይ = 0xE1 0x8B 0xAD = U + 12ED = Etiope, sillaba YE
  • ዮ = 0xE1 0x8B 0xAE = U + 12EE = Etiope, sillaba YO

riga 2:

  • ዸ = 0xE1 0x8B 0xB8 = U + 12F8 = Etiope, sillaba DDA
  • ዺ = 0xE1 0x8B 0xBA = U + 12FA = Etiope, sillaba DDI
  • ዻ = 0xE1 0x8B 0xBB = U + 12FB = Etiope, sillaba DDAA
  • ዼ = 0xE1 0x8B 0xBC = U + 12FC = Etiope, sillaba ddee
  • ዽ = 0xE1 0x8B 0xBD = U + 12FD = etiope: sillaba DDE
  • ዾ = 0xE1 0x8B 0xBE = U + 12FE = etiope: sillaba DDO
+0

Grazie per la risposta, ma se sono visualizzabili come qualsiasi altro personaggio, allora perché siamo obbligati a scaricare e installare altro software/applicazioni per vedere i testi apparire così come sono? perché, posso dirti se dovevo rimuovere i caratteri dal mio pc non sarei in grado di vederli – samayo

+0

Non ho installato alcun carattere sul mio PC e posso vederli senza problemi.Quale sistema operativo e browser web (+ versioni) stai usando? – user1610015

+0

Ho windows 7+ google chrome. Normalmente, tutti installano i software forniti da terze parti per visualizzare e specialmente leggere questi caratteri. Questo software è esatto: http://www.tavultesoft.com/keyman/download.php Non so cosa stia realmente succedendo, ma sto cercando di creare un sito come http: //freetyping.geezedit. com/anche quelli creati da flash, voglio crearne uno con Javascript e Jquery. Sai dove trovare/assumere persone che possono farlo? – samayo

4

Utilizzo di caratteri etiopi sulle pagine web è soprattutto una questione di font in questi giorni.(Potresti anche avere un problema nell'inserirli comodamente, ma questo dipende dal tuo ambiente di authoringLe persone che utilizzano ad es. Windows 7 hanno almeno un font che li contiene, ma i vecchi computer in genere non hanno questi font .. I seguenti caratteri li contengono (ce ne potrebbero essere altri) :

Code 2000, era freeware, l'autore è scomparso, così lo stato è oscuro

Unifont, una bitmap font gratuito

FreeSerif, un font gratuito

Nyala, wi distribuito th alcune versioni di Windows

SunExt-A, un font gratuito

Fixedsys Excelsior, un carattere bitmap libera suppongo (non ho ancora testato)

avrei probabilmente usare FreeSerif come un font scaricabile, con @font-face.

1

probabilmente avrete bisogno di guardare http://senamirmir.org/

che se non mi sbaglio ha fatto quello che si vuole fare. Se non ti piacciono i loro font, SIL Abyssinica dovrebbe andare bene (ma include solo uno stile di scrittura).

Lo stato di layout può variare da sistema a sistema, per indirizzare * nix come i sistemi è necessario un layout fusa in http://www.freedesktop.org/wiki/Software/XKeyboardConfig/