Данные о компонентах иероглифов Гэвина Грувера
Данные о компонентах иероглифов Гэвина Грувера — это свободно доступная база данных, в которой китайские иероглифы, входящие в Уникод, описываются с точки зрения их составных компонентов. База данных содержит число записей::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 (официальная страница)