CJK는 중국어(Chinese), 일본어(Japanese), 한국어(Korean)의 약어로, 동아시아의 주요 언어들을 지칭하는 용어이다. 주로 전산학, 서체 디자인, 국제화(i18n) 및 현지화(l10n) 분야에서 이들 언어의 문자 체계와 처리 방식을 통합적으로 다룰 때 사용된다. 이들 언어는 한자(중국어: 한쯔/한자, 일본어: 간지, 한국어: 한자)를 공유하거나 그로부터 파생된 문자 체계를 가지고 있어 기술적인 유사성과 복잡성을 공유한다.
1. 의미
CJK는 각 언어의 첫 글자를 따서 만들어진 두문자어로, 문자 체계 측면에서 공통된 특징을 가지는 동아시아 3개 언어를 묶어 지칭한다.
- 중국어(Chinese): 한자(Hanzi)를 주 문자 체계로 사용하며, 간체자와 번체자가 존재한다.
- 일본어(Japanese): 한자(Kanji)와 함께 고유의 음절 문자 체계인 가나(히라가나, 가타카나)를 사용한다.
- 한국어(Korean): 고유의 음소 문자 체계인 한글(Hangul)을 주 문자 체계로 사용하지만, 과거부터 한자(Hanja)를 차용하여 사용해왔으며 현대에도 교육 및 특정 표기에서 사용되기도 한다.
이러한 문자 체계의 공통점(한자 기반)과 차이점(고유 문자 체계)이 CJK라는 용어가 사용되는 주된 이유이며, 특히 컴퓨터 시스템에서 이들을 처리할 때 공통적으로 발생하는 기술적 도전 과제가 많다.
2. 컴퓨터 및 기술 분야에서의 CJK
컴퓨터 시스템에서 CJK 언어를 처리하는 것은 라틴 알파벳 기반 언어에 비해 훨씬 복잡하며, 이는 다음과 같은 이유 때문이다.
- 유니코드 및 문자 인코딩: CJK 문자는 그 수가 수만 자에 달하여, 이를 효율적으로 표현하기 위해 유니코드(Unicode)와 같은 국제 표준 문자 인코딩이 필수적이다. 과거에는 각 언어별로 다양한 인코딩(예: EUC-KR, Shift_JIS, GB2312)이 사용되어 호환성 문제가 많았다.
- 글꼴 디자인 및 렌더링: CJK 글꼴은 매우 큰 용량을 가지며, 각 글자의 미묘한 차이를 반영해야 한다. 또한, 같은 한자라도 언어에 따라 글꼴 모양(글리프)이 다를 수 있어 폰트 통합 및 관리에 어려움이 있다.
- 입력 방식(IME): 키보드의 제한된 키로 수많은 CJK 문자를 입력하기 위해 복잡한 입력기(IME, Input Method Editor)가 필요하다. 이는 발음 기반 입력, 부수 기반 입력 등 다양한 방식을 포함한다.
- 텍스트 처리: 단어 구분(어절 분석), 줄 바꿈, 정렬(콜레이션) 등 텍스트 처리 방식이 라틴 알파벳 언어와 달라 특별한 알고리즘이 요구된다. 예를 들어, 중국어나 일본어는 어절 단위 공백이 없어 단어 구분이 더 복잡하다.
- 국제화 및 현지화: 소프트웨어나 웹사이트를 CJK 언어로 국제화(i18n)하고 현지화(l10n)할 때는 이러한 기술적 특성들을 고려하여 설계해야 한다.
3. 역사적 배경 및 공통점
CJK 언어들은 역사적으로 중국 한자 문화권의 영향을 크게 받았다. 한국어와 일본어는 고유의 언어 구조를 가지고 있음에도 불구하고, 수천 년간 한자를 차용하여 사용해왔으며, 이는 각 언어의 어휘와 문자 체계 발전에 지대한 영향을 미쳤다. 이러한 역사적 맥락과 현대의 기술적 요구사항이 결합되어 CJK라는 분류가 형성되었다. 이는 주로 기술적인 관점에서 이들 언어가 공유하는 문자 처리의 복잡성을 해결하기 위한 실용적인 분류이다.
4. 관련 용어
- CJKV: CJK에 베트남어(Vietnamese)를 추가한 용어이다. 베트남어가 과거 한자 기반 문자 체계인 쯔놈(Chữ Nôm)을 사용했던 역사적 배경 때문에 함께 묶이는 경우가 있다. 그러나 현대 베트남어는 로마자 기반의 꾸옥어(Quốc ngữ)를 사용하므로 기술적인 처리 난이도는 CJK와는 다소 다르다.
- I18n (Internationalization) 및 L10n (Localization): 소프트웨어나 콘텐츠를 다양한 언어와 문화권에 맞게 설계하고 적용하는 과정을 의미한다. CJK 언어 처리는 이 분야의 주요한 도전 과제 중 하나이다.