Корейский язык и компьютеры
![]() | Эта статья может быть слишком технической для понимания большинства читателей . ( Июль 2022 г. ) |

Система письменности корейского языка представляет собой слоговой алфавит, состоящий из частей символов ( джамо ), организованных в блоки символов ( кельджа ), представляющие слоги . Части символов нельзя писать на компьютере слева направо, как во многих западных языках. Каждый возможный слог в корейском языке должен был бы отображаться в виде блоков слогов с помощью шрифта , или каждая часть символа должна была бы кодироваться отдельно. В Unicode есть оба варианта; части символов ㅎ (h) и ㅏ (a), а также объединенный слог 하 (ха) закодированы.
Кодировка символов
[ редактировать ]В RFC 1557 был описан метод, известный как ISO-2022-KR, для семибитного кодирования корейских символов в электронной почте . восемь бит Если разрешено , предпочтительнее использовать кодировку EUC-KR. Эти две кодировки сочетают в себе US-ASCII ( ISO 646 ) и корейский стандарт KS X 1001 :1992. [1] (ранее называвшийся KS C 5601:1987). Другой набор символов, KPS 9566 (аналог KS X 1001), используется в Северной Корее .
Международный стандарт Unicode содержит специальные символы корейского языка в фонетической системе хангыль . Юникод поддерживает два метода. Метод, используемый Microsoft Windows, заключается в том, чтобы каждая из 11 172 комбинаций слогов использовалась в виде кода и заранее сформированного символа шрифта. Другой метод кодирует буквы ( jamos ) и позволяет программе правильно их комбинировать. Метод Windows требует больше памяти для шрифтов, но позволяет использовать более качественные формы, поскольку сложно создавать стилистически правильные комбинации (предпочтительно для документов).
Другая возможность — наложение последовательности средних (-ов) ( чонсон ) и последовательности конечных (-ов) ( чонсон ) или среднекорейского шага (если необходимо) поверх последовательности начальных (-ов) ( выбор ), если Шрифт имеет среднюю и конечную рамку с интервалом нулевой ширины, вставленную слева от курсора или курсора, таким образом, появляясь в нужном месте ниже (или справа) от инициала. Если слог имеет горизонтальную среднюю часть ( ㅗ , ㅛ , ㅜ , ㅠ или ㅡ ), в полном слоге начальная буква, вероятно, будет располагаться левее, чем в заранее сформированных слогах, из-за места, которое необходимо зарезервировать для вертикальной средней части, что делает эстетически неудовлетворительным что может быть единственным способом отобразить среднекорейский текст хангыль, не прибегая к изображениям, латинизации, замене устаревших джамо или нестандартным кодировкам. Однако большинство современных шрифтов не поддерживают это.
В стандарте Unicode также предпринята попытка создать единый набор символов CJK , который может представлять китайский ( Hanzi ), а также японские ( Kanji ) и корейские ( Hanja ) производные этого алфавита посредством унификации Han , которая не делает различий по языку или региону при отображении китайского языка. символы, если типографские традиции не привели к серьезным различиям во внешнем виде персонажа. Объединение Хань подверглось критике.
Ввод текста
[ редактировать ]


На корейской компьютерной клавиатуре текст обычно вводится нажатием клавиши соответствующего джамо ; операционная система создает каждый составной символ «на лету». В зависимости от редактора метода ввода и раскладки клавиатуры двойные согласные можно вводить, удерживая кнопку Shift. Когда все джамо, составляющие слоговой блок, введены, пользователь может инициировать преобразование в ханджа (или другие специальные символы), используя сочетание клавиш или кнопку интерфейса; На южнокорейских клавиатурах для этого есть клавиша. Последующее полуавтоматическое преобразование ханджи в той или иной степени поддерживается текстовыми процессорами.
При использовании клавиатуры с другим языком большинство операционных систем требуют, чтобы пользователь вводил оригинальную корейскую раскладку клавиатуры; наиболее распространен Дубеолсик . На других языках, например японском, текст можно вводить на неродных клавиатурах с помощью латинизации .
Операционные системы, такие как Linux, позволяют engine/hangul/hangul-keyboard='ro , в результате чего получается клавиатура romaja ; ввод «сонге» приводит к 성계. [2] В этой конфигурации ㄲ получается через «gg», а не через «gg». ⇧ Shift+ G. Это позволяет вводить «jasanGun» для получения 자산군 вместо ввода «jasangun» (что давало бы 자상운).
Корейские пишущие машинки
[ редактировать ]До корейского дивизиона
[ редактировать ]Ввод корейского текста связан с корейскими пишущими машинками (타자기) до компьютеров. Первая корейская пишущая машинка неясна; По словам Чан Бон Сона, Гораций Грант Андервуд изготовил корейскую пишущую машинку в первом десятилетии 20 века. [3] Ли Вон Ику, живущему в США, приписывают разработку первой корейской пишущей машинки в 1914 году. [4] [5] В 1927 году Сон Ки Джу изобрел первую пишущую машинку Dubeolsik в Чикаго; однако его больше не существует. Пишущая машинка Сона 1934 года хранится в музее Хангыля как старейшая существующая корейская пишущая машинка. [6] Изобретение пишущей машинки привело к разработке других пишущих машинок в 1945 году Ким Джун Соном и в 1950 году Конг Бён У. [7]
После разделения
[ редактировать ]В Южной Корее изначально был стандарт Небеолсик, но Дубеолсик стал стандартом в 1985 году. [8]
Ханджа
[ редактировать ]Некоторые корейские шрифты не включают ханджа , а текстовые процессоры не позволяют пользователю указывать, какой шрифт использовать в качестве запасного для любой ханджи в тексте; каждая последовательность ханджи должна быть вручную отформатирована для нужного шрифта.
Метки шага и вертикальный текст
[ редактировать ]Вертикальный текст плохо поддерживается (или не поддерживается вообще) HTML и большинством текстовых процессоров. Это не проблема для современного корейского языка, который обычно пишется горизонтально; однако до второй половины 20 века корейский язык часто писался вертикально. Тексты пятнадцатого века, написанные на хангыле, имели знаки тона слева от слогов, которые включены в Unicode, хотя современные шрифты их не поддерживают.
Программы
[ редактировать ]Программы, разработанные для использования на корейском языке, включают:
- Распознавание языка
- Сообщается, что северокорейская программа распознавания речи распознает 100 000 слов с вероятностью успеха более 90 процентов. [9]
- Моннан ( 목란 ; Корейский компьютерный центр , [10] Северная Корея) — программное обеспечение для оптического распознавания символов , показатель успеха которого составляет 99 процентов для печатного текста и 95 процентов для распознавания рукописного текста . [9]
- методов ввода Редакторы
- Тангун ( 단군 ; Информационный центр Пхеньяна , Северная Корея) – позволяет использовать хангыль в английских версиях Windows. [10]
- Редактор метода ввода Nalgaeset Hangul (устройство ввода Nalgaeset Hangul); Ким Ёнмук, Южная Корея) — метод ввода хангыль, разработанный для раскладки клавиатуры Windows 3(se)-beolsik.
- Наби ( nabi ), ami ( AMI ; Южная Корея) — разрешает хангыль в Linux.
- m17n – разрешает пересмотренную латинизацию ввода хангыль в Unix.
- SCIM и IBus — разрешает ввод хангыль и ханджа в операционных системах POSIX (включая Linux и BSD ).
- Текстовые процессоры . Следующие программы включают в себя отечественные шрифты хангыль, шрифты без хангыля и утилиту преобразования хангыль- ханджа .
- Хангыль ( Ханком , Южная Корея)
- Чхандок ( Changdeok ; PIC, [10] Северная Корея) — MS-DOS программа , разработанная в апреле 1990 года; версия для Windows была разработана в 1996 году. [11] Имеет культовую особенность, при которой нажатие Ctrl+ I или Ctrl+ J выпускает названия, восхваляющие Ким Ир Сена и Ким Чен Ира соответственно. [12]
Хангыль в Юникоде
[ редактировать ]

Буквы хангыль подробно описаны в нескольких частях Юникода:
- Слоги хангыля (AC00–D7A3)
- Хангыль Джамо (11:00–11FF)
- Джамо, совместимый с хангылем (3130–318F)
- Хангыль Джамо Расширенный-A (A960–A97F)
- Хангыль Джамо Расширенный-B (D7B0–D7FF)
Блок слогов хангыль
[ редактировать ]Предварительно составленные слоги хангыля в блоке слогов хангыля Юникода алгоритмически определяются по следующей формуле:
- [(начальный) × 588 + (средний) × 28 + (конечный)] + 44032
- Начальные согласные
- Медиальные гласные
- Конечные согласные
Чтобы найти кодовую точку «한» в Юникоде:
- Значение начальной согласной (ㅎ) равно 18.
- Значение средней гласной (ᅏ) равно
- Значение последней согласной (ㄴ) равно 4.
Подстановка этих значений в приведенную выше формулу дает [(18 × 588) + (0 × 28) + 4] + 44032 = 54620. Значение 한 в Юникоде равно 54620 в десятичном виде, 한
в числовой ссылке на символ и U+D55C в шестнадцатеричной записи Юникода.
Как это закодировать в Rust
[ редактировать ]С помощью приведенного ниже модуля, вызывая, например, hangul::from_jamo('ㅎ', 'ㅏ', Some('ㄴ'))
вернется Some('한')
.
mod hangul {
const INITIAL_JAMO: [char; 19] = [
'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ',
'ㄸ', 'ㄹ', 'ㅁ', 'ㅂ',
'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ',
'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ',
'ㅌ', 'ㅍ', 'ㅎ',
];
const VOWEL_JAMO: [char; 21] = [
'ㅏ', 'ㅐ', 'ㅑ', 'ㅒ',
'ㅓ', 'ㅔ', 'ㅕ', 'ㅖ',
'ㅗ', 'ㅘ', 'ㅙ', 'ㅚ',
'ㅛ', 'ㅜ', 'ㅝ', 'ㅞ',
'ㅟ', 'ㅠ', 'ㅡ', 'ㅢ',
'ㅣ',
];
const FINAL_JAMO: [Option<char>; 28] = [
None, Some('ㄱ'), Some('ㄲ'), Some('ㄳ'),
Some('ㄴ'), Some('ㄵ'), Some('ㄶ'), Some('ㄷ'),
Some('ㄹ'), Some('ㄺ'), Some('ㄻ'), Some('ㄼ'),
Some('ㄽ'), Some('ㄾ'), Some('ㄿ'), Some('ㅀ'),
Some('ㅁ'), Some('ㅂ'), Some('ㅄ'), Some('ㅅ'),
Some('ㅆ'), Some('ㅇ'), Some('ㅈ'), Some('ㅊ'),
Some('ㅋ'), Some('ㅌ'), Some('ㅍ'), Some('ㅎ'),
];
const GA_LOCATION: u32 = '가' as u32; // = 44_032
pub fn from_jamo(initial: char, medial: char, last: Option<char>) -> Option<char> {
if !(
self::INITIAL_JAMO.contains(&initial)
&& self::VOWEL_JAMO.contains(&medial)
&& self::FINAL_JAMO.contains(&last)
) {
return None;
}
char::from_u32(
self::GA_LOCATION
+ 588 * (INITIAL_JAMO.iter().position(|&c| c == initial)? as u32)
+ 28 * (VOWEL_JAMO.iter().position(|&c| c == medial)? as u32)
+ FINAL_JAMO.iter().position(|&c| c == last)? as u32
)
}
}
Блок Jamo совместимости с хангылем
[ редактировать ]Блок Jamo Unicode Hangul Compatibility был выделен для совместимости с набором символов KS X 1001 . Обычно он используется для обозначения хангыля без различия инициалов и финалов.
Хангыль Джамо блоки
[ редактировать ]Блоки Hangul Jamo , Hangul Jamo Extended-A и Hangul Jamo Extended-B содержат начальный, средний и конечный джамо, включая устаревший джамо.
Код зоны частного использования Ханьян
[ редактировать ]Hangul (текстовый процессор) поставляется со шрифтами Hanyang Information and Communication Unicode , которые сопоставляют устаревшие символы хангыля с областями частного использования . Несмотря на использование PUA вместо выделенных кодовых точек , отображение Hanyang было самым популярным способом представления устаревшего хангыля в Южной Корее в 2007 году. Однако в Hangul 2010 компания Hancom отказалась от кода Hanyang PUA и начала представлять устаревшие символы хангыля с помощью Unicode Hangul Jamo. .
См. также
[ редактировать ]- Японский язык и компьютеры
- Вьетнамский язык и компьютеры
- Список шрифтов CJK
- Китайские методы ввода для компьютеров
- МакКьюн-Рейшауэр
- Йельская латинизация корейского языка
- Пересмотренная романизация корейского языка
- Новая корейская орфография
Ссылки
[ редактировать ]- ^ «КС Х 1001:1992» (PDF) .
- ^ «Либхангул/Ибус-хангыль» . GitHub 29 мая 2021 г.
- ^ Чан, Бон Сон (1989). Учебник по расшифровке хангыля . Ханпул. п. 84.
- ^ «Пишущая машинка Ли Воника» . scienceall.com . 7 декабря 2012 г.
- ^ «До информационной эпохи была пишущая машинка <золотой век пишущей машинки хангыль>» . Музей хангыля .
- ^ «[Специальный исторический выпуск] Современное культурное наследие, спасенное из корейской церковной истории, недавно признанное зарегистрированными культурными ценностями» . Христианская газета. 27 февраля 2020 г.
- ^ «Посмотрите старую пишущую машинку хангыль в Музее хангыля» . Информационное агентство Йонхап . 8 октября 2014 г.
- ^ «Механизация хангыля, включая стандартизацию набора текста и клавиатуры хангыля (1969)» . theme.archives.go.kr .
- ^ Jump up to: а б Ким, Чи-Кван (2 декабря 2000 г.). Текущее состояние информатизации Северной Кореи через вопросы и ответы . Tongilnews.com (на корейском языке) . Проверено 3 декабря 2006 г.
- ^ Jump up to: а б с Ким, Хё Сок (2 декабря 2000 г.). «<Сбор данных Национального собрания> Статус программного обеспечения Северной Кореи и демонстрационные данные» . Tongilnews.com (на корейском языке) . Проверено 3 декабря 2006 г.
- ^ Ёнхап (7 января 1998 г.). Как далеко продвинулась компьютерная индустрия Северной Кореи? . Tongilnews.com (на корейском языке) . Проверено 3 декабря 2006 г. [ мертвая ссылка ]
- ^ «북한용어사전: 평양정보센터(PIC)» (на корейском языке). Архивировано из оригинала 28 сентября 2007 года . Проверено 3 декабря 2006 г.
Внешние ссылки
[ редактировать ]- Корейская виртуальная клавиатура онлайн
- Система онлайн-ввода InputKing , онлайн-инструмент для набора текста на корейском языке.
- «Джамо в Юникоде» (PDF) . (186 КБ)
- «Слоги хангыля» (PDF) . (3,86 МБ)
- Хоффманн, Франк. «Корееведение: конвертер Юникода» . koreanstudies.com . , онлайн-инструмент для преобразования корейского текста в различные форматы кодирования и наоборот.