응용프로그램2017.02.01 22:38

문장부호 중점(·)을 수식에서 내적(곱하기) 기호로 사용해도 되는가? 결론만 말하면 그렇다.


위키백과를 보면 중점(같이 생긴 부호)은 여러 가지가 있다. 일반적으로 국문 문장부호로 사용하는 게 이 중점(·)이다. 유니코드로는 00b7. 윈도우 한글 입력기에서는 ㄱ을 입력하고 한자 키를 누르면 두 번째 페이지 8번째에 있다.


이거랑 비슷한 녀석으로 불릿(•)이 있다. 더 크다. 유니코드로 2022. 주로 목록을 표시할 때 목록 앞머리에 쓴다.


위의 위키백과에 따르면 이 둘은 레이텍에서는 각각 \textperiodcentered\textbullet이다.


얘네 둘까지는 혼돈이 없는데, 수식으로 가면 복잡해진다. 위 두 가지의 수식 버전에 해당하는 점 연산자(⋅)와 불릿 연산자(∙)가 있다. 유니코드에서 각각 22c52219다. 레이텍으로 치면 각각 \cdot\bullet이다.


이런 걸 고민하는 게 나뿐만은 아니다. 텍 스택오버플로에 관련 질답이 있었다. 해당 답변을 건단히 정리한 게 이상의 내용이다.


여기부터는 내 문제. 내가 애용하는 모 레이텍 렌더링 사이트에서 \cdot을 입력하면 pdf 결과가 중점(00b7)으로 출력된다는 거다. \bullet을 입력하면 그냥 불릿(2022)으로 출력된다.


게다가 점 연산자와 불릿 연산자를 입력하면 아예 제대로 렌더링이 안 된다.



이 사이트는 레이텍의 표준 서체와도 같은 Computer/Latin Modern 서체(위키백과) 등을 사용하는데, 글리프를 직접 확인해보니 이 옛날(?) 서체들에는 22c5와 2219 글리프가 없었다(한편, 오라일리 같은 외국 출판사에서는 종종 수식에 STIX 서체(위키백과)를 사용한다. STIX 서체에는 22c5와 2219 글리프를 포함해 엄청나게 많은 글리프가 들어 있다).


결론적으로 그렇다고 한 건... 사실 점(불릿) 연산자와 중점(불릿)을 시각적으로 구분하는 것은 불가능하기 때문이다. 따라서 문단 수식을 조판하는 데에는 여전히 저 사이트를 이용해도 문제는 없어 보인다. 물론 더 정확히 하려면 뭔가 다른, 제대로 된 레이텍 렌더링 방법을 찾아야 한다. 근데 이러면 나 한 몸 편하자고 온라인으로 레이텍 렌더링하는 게 무슨 의미가 있느냐고...


*추가:

위 사이트 말고 다른 레이텍 렌더링 사이트에서는 중점과 점 연산자가 잘 구분되어 렌더링되고 pdf로 출력하면 제대로 된 글리프가 나온다. 예제 파일. 이걸 pdf로 출력하고 그 pdf에서 텍스트를 복사해서 워드 같은 데 붙여넣기해보면 글리프가 다른 걸 확인할 수 있다.


게다가 이 사이트는 컴파일러를 고를 수도 있다. 이게 왜 유용하냐면... 유니코드에는 그리스문자 델타(Δ)와 증분 기호(∆)가 별도로 들어 있는데(각각 03942206) 후자를 레이텍으로 쓰려면 unicode-math 같은 패키지가 필요하고 이 패키지는 pdflatex가 아니라 xelatex나 lualatex에서만 사용할 수 있다. 위 사이트에서는 이들 여러 컴파일러를 모두 사용할 수 있다.





Posted by 필유
응용프로그램2015.12.09 20:00

Noto Sans라는 서체가 있다. 구글과 어도비가 만들었다. 고정폭 서체도 있다. Mono가 붙는다. 물론 CJK(한중일) 버전도 있다. CJK 안에서 각 언어별 서체가 또 따로 있다. 한글은 KR. 그래서 다 합치면 Noto Sans Mono CJK KR이 된다.

https://www.google.com/get/noto/help/cjk/


고정폭 서체라 관심이 컸는데, 막상 워드 같은 데서 PDF를 만들어보니 임베딩(서브세팅)이 '제대로' 안 된다. 워드 자체 기능 및 애크로뱃(디스틸러) 둘 다 결과는 조금 다르지만 어쨌든 제대로는 안 된다. 혹시나 해서 해당 서체 깃허브 저장소에 문의했는데 워드 '2010'에서는 트루타입 '기반의' 서체만 임베딩이 된다는 답변을 들었다. 해당 서체는 오픈타입. 워드 2013은 되나 모르겠는데, 없어서 모름.

https://github.com/googlei18n/noto-cjk/issues/51


직접적인 관련이 있는 건 아니지만, 나중에 찾아보니 오픈타입 임베딩이 가능한 PDF 버전은 1.6 이상이다(근데 워드 2010 자체 기능으로 저장한 PDF의 버전은 기본값이 1.5고 옵션으로 1.4로도 저장할 수 있다).

http://community.zmags.com/articles/Knowledgebase/Difference-between-full-embedded-fonts-and-embedded-subset-1277814749518


안 된다고 넘어가면 될 일이긴 한데 뭔가 열받아서, 해당 서체를 지정한 HTML 파일을 만들고 파폭 및 크롬에서 애크로뱃으로 인쇄해봤다. 우선 파폭에서는 임베딩도 안 되고 결과물이 아예 비어 있었다.


크롬은 자체 PDF 저장 기능이 있다. 이걸로 만든 PDF는 버전이 1.4였다. 임베딩이 되긴 되는데 타입 3의 알 수 없는 서체 몇 개로 임베딩이 되고, 텍스트를 긁으면 이상한 문자가 나온다.


크롬 자체 PDF 저장 기능으로 저장한 PDF 문서 속성 중 글꼴크롬 자체 PDF 저장 기능으로 저장한 PDF 문서 속성 중 글꼴


다음으로, 크롬에서도 애크로뱃을 통해 만들어봤다. 임베딩은 안 되고, 텍스트는 아웃라인(!)으로 저장된다(그래도 파폭보다는 낫네).


그래서 도대체 이 서체 임베딩을 제대로 지원하는 윈도우용 프로그램이 있긴 한 건가 싶었지만... 인디자인 CC 2014에서 해보니 역시나 잘만 된다(PDF 1.7에서 오픈타입으로 볼드 및 레귤러 각각 서브세팅). 다른 프로그램에선 임베딩은 포기하는 게 마음 편할 듯. 일반 사용자에게는 중요한 일도 아닐 테고.


추가:

워드 자체 저장 기능, 즉 파일>다른 이름으로 저장>pdf 선택 말고, 애크로뱃을 깔면 같이 깔리는 오피스용 애드온인 PDFMaker를 이용하니 오픈타입은 아니지만 임베딩이 되고 텍스트도 제대로 긁히는 걸 확인했다. 레귤러 하나만 타입1(CID) 형태로 서브세팅되는데, 볼드는 '가짜 볼드'로 처리하는 게 아닐까 추측.


Acrobat>PDF 작성Acrobat>PDF 작성


디스틸러를 두고 굳이 애드온을 써서 해야 하나 싶긴 한데 어쩔 수가 없네. 워드(오피스)에서 PDF 만들 일이 있다면 디스틸러 말고 PDFMaker를 쓰는 걸 권한다.





Posted by 필유