구글, 머신러닝 기반 ‘구글폰트+한국어’ 오픈소스 제공
구글이 한국어 폰트를 지원하기 위해 깃허브 구글 폰트(Google Fonts) 사이트를 통해 오픈소스 한글 폰트를 머신러닝에 기반한 최적화 기술을 시범적으로 제공한다.
깃허브(Github) 구글 폰트(Google Fonts) 사이트 <Google Fonts + 한국어>에 실린 모든 폰트는 오픈 폰트 라이선스(OFL)를 따르고 있어, 누구나 마음에 드는 폰트를 자유롭게 사용하고, 친구나 직장 동료와 공유할 수 있다.
소수 문자의 발전을 추구하는 비영리 기관인 ‘국제 SIL’에서 제안한 오픈 폰트 라이선스의 대상은 폰트 및 폰트 디자인, 언어를 활용하는 소프트웨어의 개발 및 엔지니어링 등을 망라하고 있다. 오픈 폰트 라이선스는 세계 어느 곳에서나 폰트 관련 기술을 협력적으로 개발 및 공유하고, 개선할 수 있는 법적 기반을 제공한다.
구글 측에 따르면, “좋은 타이포그래피를 통해 웹은 더욱 아름답고, 빠르며, 누구나 참여할 수 있는 공간이 될 수 있다”고 설명했다.
한글 폰트를 웹에서 사용할 때 맞닥뜨리는 가장 큰 걸림돌은 큰 용량이었다. 한글은 발음 구조의 모양을 본뜬 닿자(자음을 나타내는 낱자) 19가지와 하늘, 땅, 인간을 추상화한 홀 자(모음을 나타내는 낱자) 21가지로 이루어진다. 서로 조합된 낱자는 음절 하나를 나타내는 글자가 되고, 글자는 모여 단어가 된다.
한글의 각 글자에서 낱자는 주변 낱자와의 관계에 따라 모양이 조금씩 달라지고, 이런 현상은 한자와 가나에서도 나타난다. 따라서 한글을 바르게 표시하기 위해서는 기본적으로 낱자를 모두 조합한 11,172가지 글리프를 폰트에 포함해야 한다. 이는 폰트를 제작하는 기간과 비용뿐 아니라 파일의 용량에도 큰 영향을 미친다.
예컨대 구글이 전 세계의 모든 문자를 표시하기 위해 개발하고 있는 노토 산스(Noto Sans) 로마자 버전의 용량은 445KB에 불과하지만, 44,683가지 글자를 포함한 CJK 버전은 15.7MB에 달하며, 폰트를 완전히 다운로드하기 전까지는 페이지가 바르게 표시되지 않는다. 이는 지금까지 웹에서 다양한 한글 폰트를 제대로 이용하는 데 큰 제약이 있었다.
하지만, 구글 폰트는 머신 러닝에 기반을 둔 최적화 기술을 통해 한글 폰트를 동적으로 분할 다운로드한다.
구글은 “웹상의 방대한 한국어 문서를 분석한 결과, Google은 주제에 따라 사용되는 글자의 패턴을 발견하고, 패턴에 따라 한글 폰트에 포함된 17,388개의 글리프를 100여 가지 그룹으로 나누었다”며, “여기에 구글 폰트는 사용자가 웹 페이지를 불러올 때, 폰트 전체를 다운로드 하는 대신 내용을 표시하는 데 꼭 필요한 몇 가지 그룹만을 선택적으로 다운로드 하는 방식으로 폰트를 제공한다”고 설명했다. 또한 “이 기술을 적용한 구글 폰트를 사용하면 더욱 빠르게 폰트 전체를 다운로드한 것과 다름없는 페이지를 제공할 수 있다”고 밝혔다.
특히 구글 폰트 API(Google Fonts API)의 사이트 간 캐싱(cross-site caching)을 통해 해당 폰트가 여러 웹사이트에서 사용될수록 전체 다운로드 시간은 줄어들고, 한글 웹 폰트를 둘러싼 사용자 경험은 그만큼 개선될 것이라고 강조했다.
한편, 한글 종주국이 아닌 구글의 이 같은 서비스 지원에 대해 국내 손꼽히는 타이포그라피 전문가인 한재준 서울여자대학교 교수는 “기뻐해야 할지. 울어야 할지. 구글은 남고 한글은 사라지는 일이 없기를 바란다”고 아쉬움과 우려를 나타냈다.
원문 : IT뉴스