Данные о компонентах иероглифов Гэвина Грувера
Данные о компонентах иероглифов Гэвина Грувера — это свободно доступная база данных, в которой китайские иероглифы, входящие в Уникод, описываются с точки зрения их составных компонентов. База данных содержит число записей::85925 строк. База данных распространяется как обычный текстовый файл.
База данных распространяется по лицензиях лицензия::Apache 2.0, лицензия::LGPL 3.0 или Creative Commons BY-SA 3.0. Она может быть полезна для всех языков с иероглифической письменностью: китайского, японского и, в меньшей мере, корейского.
Формат
База данных распространяется в виде обычного текстового файла в формате UTF-16. Каждая запись представляет кодируется следующим образом:
- Вначале указывается иероглиф или код компонента иероглифа, после которого идёт двоеточие
- Затем указывается тип разбиения
- Затем в скобках через запятую перечисляются элементы, входящие в сочетание (иероглифы или коды компонентов иероглифов); если элементов нет, скобки остаются пустыми (тип разбиения «c»).
Компоненты иероглифов, которые не имеют собственного кода в уникоде, представлены пятибуквенными кодами.
Пример данных в базе:
孖:ra(子) 字:d(宀,子) 存:d/m(𠂇,仔) 孙:a(子,小)
Типы разбиений бывают следующими:
| Код | Значение | Количество компонентов | Пример | |
|---|---|---|---|---|
| Общий случай (регулярное выражение) | Частные случаи | |||
| c | Неделимая составная часть | 0 | ㇀:c()
| |
| m.* | Каким-то образом видоизменённый элемент: | 1 | ||
| me | эквивалентная форма, | ⻣:me(骨) | ||
| msp | особая форма, | 丁:msp(丅) | ||
| mo | рамка, | 凸:mo(丄) | ||
| ml | вариант, используемый слева, | 牜:ml(牛) | ||
| mr | вариант, используемый справа. | ⻏:mr(⻖) | ||
| w.* | Второй компонент каким-то образом содержится в первом | 2 | ||
| w | в центре, | 为:w(力,⺀) | ||
| wbl | внутри внизу слева, | 𠂙:wbl(丰,㇒) | ||
| b(a|d) | Второй компонент находится в первом | 2 | ||
| ba | направление горизонтальное, | 䜌:ba(絲,言) | ||
| ba | направление вертикальное. | 褭:bd(衣,馬) | ||
| lock | Компоненты неразрывно соединены | 2 | 亐:lock(二,㇉) | |
| s.* | Первый компонент расположен внутри второго | 2 | ||
| s | окружение со всех сторон | 囚:s(囗,人) | ||
| sb | окружение снизу | 𥃬:sb(凵,目) | ||
| sbl | окружение слева снизу | 咫:sbl(尺,只) | ||
| sbr | окружение справа снизу | 𦕦:sbr(众,耳) | ||
| str | окружение справа сверху | 勻:str(勹,二) | ||
| stl | окружение слева сверху | 厄:stl(厂,㔾) | ||
| a | Компоненты расположены слева направо | ≥2 | 㣔:a(彳,丁) | |
| d | Компоненты расположены снизу вверх | ≥2 | 贝:d/o(冂,人) | |
| r.* | Компонент повторяется и/или видоизменяется | 1 | ||
| refh | отражается по горизонтали | 入:refh(人) | ||
| rot | поворачивается на 180° | 𠄟:rot(二) | ||
| rrefr | повторяется с отражением справа | 門:rrefr(𠁣) | ||
| ra | повторяется по горизонтали | 林:ra(木) | ||
| r3d | повторяется трижды по вертикали | 𡭯:r3d(小) | ||
| r3tr | повторяется трижды в треугольнике | 森:r3tr(木) | ||
| rst | повторяется, причём первая форма окружает вторую сверху | 闁:rst(門) | ||
После типов сочетаний s, a, d и r могут располагаться уточнения:
| Код | Значение | Пример |
|---|---|---|
| /t | Соединяющиеся компоненты касаются друг друга | 人:a/t(㇓,㇏) |
| /m | Соединяющиеся компоненты перетекают друг в друга | 𢧂:a/m(咅,戈) |
| /s | Соединяющиеся компоненты смыкаются | 𧰽:d/s(凹,豕) |
| /o | Соединяющиеся компоненты пересекаются | 贝:d/o(冂,人) |
Применение
База данных используется в следующих программах:
Ссылки
- http://groovy.codeplex.com/wikipage?title=cjk-decomp (официальная страница)