Skip to content
Tomasz Borek edited this page Aug 6, 2015 · 3 revisions

Pliki z głównymi danymi

Pliki w folderze data:

  • sections.txt — sekcje tabeli Unicode
  • sets.txt — zestawy symboli
  • entities.txt — mnemoniki (np. ©)
  • types.txt — typy sekcji (alfabet, abugida)
  • languages.txt — języki sekcji
  • countries.txt — kraje sekcji
  • specs.txt — znaki kontrolne (jak \n)

Te pliki zawierają jedynie dane wspólne dla wszystkich języków (i niezależne od języków). Wszystkie nazwy i opisy umieszczone są w tłumaczeniach.

Format plików

Na przykładzie sections.txt:

# Parametry sekcji

[greek-coptic]
	diap            : 0370:03FF
	type            : alphabet
	languages       : greek, coptic
	countries       : greece

[cyrillic]
	diap            : 0400:04FF
	type            : alphabet
	languages       : russian, ukrainian, bulgarian
	countries       : russia, ukraine, bulgaria, serbia, macedonia, moldova

Linie rozpoczynane # to komentarze - są ignorowane, podobnie jak puste linie.

Mamy tu dwa obiekty: alfabet grecki (greek-coptic) i cyrylicę (cyrillic).

Opis sekcji rozpoczyna klucz tejże (cyrillic), który jest w nawiasach kwadratowych. Następnie mamy listę charakterystyk, w formie characteristic : value.

Klucz obiektu ma:

Klucz powinien być unikatowy i składać się z małych znaków łacińskiego alfabetu, cyfr i myślników.

Listy argumentów zależą od zawartości. Argumenty mogą być obowiązkowe lub opcjonalne. Wartościami mogą być teksty (dla programistów, typ: string) lub lista wartości odseparowanych od siebie przecinkami ​​(np. russian, ukrainian, bulgarian).

Uwaga: używamy kluczy miast nazw krajów, ponieważ te różnią się w różnych językach. Klucze zdefiniowane są w plikach languages.txt oraz countries.txt.

Sekcje (sections.txt)

Argumenty:

  • diap — diapazon, zakres wartości (np. 0370:03FF). Zakresy różnych sekcji nie powinny się na siebie nakładać.
  • type — typ (np. alphabet lub abugida). Odpowiada typom z pliku types.txt. Niewymagany.
  • languages — lista języków używających symboli z tej sekcji. Odpowiada językom z languages.txt. Niewymagana.
  • countries — lista krajów używających symboli z tej sekcji. Odpowiada językom z countries.txt. Niewymagana.

Zbiory (sets.txt)

Wykorzystywane na stronie (http://unicode-table.com/sets/)

Argumenty:

  • set — lista znaków w tym zbiorze

Przykład:

[set-abcdef]
    set : a, b, c, d, e, f

Typy (types.txt)

Na ten moment nie mają zdefiniowanych argumentów, zatem tylko podaj listę kluczy.

[abjad]

[abugida]

[alphabet]

Języki (languages.txt)

Podobnie do typów, nie mają argumentów.

Kraje (countries.txt)

Argumenty:

  • map — koordynaty danego kraju. Format: x:y (e.g. 110:75)

Encje HTML (entities.txt)

Przykład: © — znak zastrzeżenia praw autorskich, ang. copyright.

Format pliku jest prosty:

copy     : 169
ordf     : 170
laquo    : 171
not      : 172

Wpierw nazwa encji (bez & i ;), potem dziesiętny kod znaku.

Używane w wyszukiwaniach: http://unicode-table.com/en/search/?q=%26copy%3B

Znaki specjalne (specs.txt)

Znaki typu \n, \t etc. Format pliku podobny do entities.txt:

0: 0
a: 7
b: 8
t: 9
n: 10
v: 11
f: 12
r: 13

Wpierw nazwa sekwencji znaków bez ukośnika, potem dziesiętny kod znaku. Także te są wykorzystywane w wyszukiwaniach.

Dodawanie nowych obiektów

Pamiętaj: możesz odnosić się tylko do istniejących obiektów. Np. chcąc, by cyrillic odnosiła się do lang-unknown:

[cyrillic]
	diap            : 0400:04FF
	type            : alphabet
	languages       : russian, ukrainian, bulgarian, lang-unknown

Musisz stworzyć lang-unknown w languages.txt i przetłumaczyć go do jak największej liczby języków w plikach lokalizacyjnych jak to możliwe (a już na pewno do angielskiego).