Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
한글 글꼴 인식에 대한 질문
2021.08.30 02:06
xelatex과 lualatex으로 각각 편집을 해보았습니다.
그런데 xelatex의 경우 인식을 하지 못하는 한글 글꼴이 여러 개 있어서 왜 그런지 이유를 몰라
질문 드립니다.
위는 KoPub 글꼴이고, xelatex으로 잘 나옵니다. 그런데
와 같이 sj_kch.ttf (산돌일중김충현)은 인식을 못합니다. 반면 luatex으로 편집하면
아무 문제 없이 편집이 된다는 겁니다. 무엇이 문제입니까?
폰트를 첨부하려 했는데 크기가 초과되어 첨부가 안됩니다.
댓글 9
-
noname
2021.08.30 05:45
-
큰바위
2021.08.30 09:00
아이고 이런. 제 경우 Linux Ubuntu 21.04이고, texlive는 2020-2021입니다. 그리고 texlive 설치와 함께 깔리는 폰트 가운데 은폰트나 백묵글꼴은 /usr/share/fonts 에 들어갑니다. 그래서 제가 쓰고 싶은 ttf 폰트는 /usr/share/fonts/truetype에 otf 폰트는 /usr/share/fonts/opentype에 넣습니다. 당연히 superuser 권한으로 넣고 fc-cache -fv 를 해줍니다. 그래야 폰트를 인식할 수 있습니다.
폰트를 읽는 방식으로 열면
폰트 정보는 다음과 같습니다.
폰트 설정으로 열어도 똑같이
이렇게 나타나고 늘 여기 나타나는 이름으로 불러 씁니다.
그리고 sc_kch.ttf 이기 때문에 otfinfo -i는 무의미 합니다.
문제는 위에서 보는 것과 같이 luatexko로 설정하고 lualatex으로 컴파일 하면 잘 나온다는 겁니다.
-
yihoze
2021.08.30 10:36
otfinfo는 TTF 파일 정보도 읽을 수 있습니다.
-
큰바위
2021.08.30 11:11
otfinfo는 다음과 같습니다.
-
yihoze
2021.08.30 11:56
sj_kch.ttf를 사용하거나 "일중 김충현체"를 사용해야 하지 않을까요?
-
큰바위
2021.08.30 13:29
다 시도해봤지만 결과는 똑같습니다. <세종대왕기념회>에서 계획하고 산돌이 만든 것인데, xetexko가 인식을 못하는군요.
-
큰바위
2021.08.30 15:45
무엇이 문제인지 잘 모르겠어서 폰트를 올립니다. 폰트는 여기서 받으시면 됩니다.
<관리자. 개인 ID, password를 노출하셔서 해당 내용을 지웁니다. >
-
noname
2021.08.30 23:05
이 폰트는 폰트 이름 string이 valid하지 않기 때문에 "폰트 이름으로" 참조할 수 없습니다. 폰트 디자인이 표준 규격을 위반한 경우라고 생각합니다.
XeTeX에서 이 폰트를 사용하려면 "폰트 파일 이름으로" 참조하는 수밖에 없습니다. "폰트 파일 이름으로 참조"한다는 것은 예를 들면
\setmainhangulfont{sj_kch.ttf}
이런 식으로 .ttf나 .otf 확장명을 붙여서 선언합니다.
먼저 알아두셔야 할 것은, XeTeX에서 "폰트 이름으로" 참조한다는 것은 Linux에서는 fontconfig 라이브러리, Windows에서는 fontconfig 유틸리티에 의존한다는 의미입니다. 맥의 경우는 fontconfig에 의존하지 않고 시스템 라이브러리를 이용하여 폰트를 참조하고요. 아무튼 리눅스가 문제니까, XeTeX이 fontconfig 라이브러리를 통하여 이 폰트에 접근할 수 없다는 것입니다.
한편 XeTeX에서 "폰트 파일 이름으로" 참조한다는 것은 kpathsearch 라이브러리 (TeX Live에 내장되어 있고 TDS를 이용합니다)에 의하여 해당 파일을 찾는다는 의미입니다. 그런데 여기서 문제는 이 폰트가 표준 TEXMF Directory Structure의 밖에 존재한다는 점이지요. 결론은, TeX Live의 kpathsearch에게 이 폰트가 놓여 있는 디렉토리를 검색할 수 있도록 해주면 됩니다.
현재 KTUG에서 권장하는 Windows의 TEX LIVE 설치 방법, 그리고 Mac에서의 MacTeX 설치 방법 등을 그대로 따라하셨다면 이 설정은 이미 되어 있어야 합니다. 그런데 선생님께서는 Linux의 debian 배포판을 사용하시는 것이지요? 그 결과 KTUG에서 권장하는 설정이 추가되어 있지 않은 것입니다. 다음 명령을 실행하십시오.
$ sudo vi `kpsewhich texmf.cnf`
이 명령을 실행하여 다음 행을 추가하십시오.
OSFONTDIR = /usr/share/fonts//;/usr/local/share/fonts//;~/.fonts//
저장하고 xelatex을 실행해보시기 바랍니다. 물론 다음 행은 파일에 확장자 이름까지 포함하여, 이미 선언되어 있어야 합니다.
\setmainhangulfont{sj_kch.ttf}
LuaLaTeX에서 이런 문제가 발생하지 않는 이유는 LuaLaTeX은 fontconfig 같은 라이브러리에 의하지 않고 lua 언어로 작성된 독립 프로그램 luaotfload라는 것이 폰트 위치의 파악과 정보의 추출 등을 독자적으로 행하기 때문입니다.
그리고 말씀드렸다시피 이것은 (1) 권장 설정을 따르지 않았기 때문이거나 (2) 폰트가 이상하기 때문이거나, 둘 중 하나이지 xetexko와는 하등 상관이 없습니다. 자꾸 "xetexko가 못 찾는다" 이런 식으로 말씀하시는 것은... 좀 그렇습니다.
-
큰바위
2021.08.31 01:23
감사합니다. 처음부터 fontforge에서 뜬 경고문을 올렸으면 빠르게 알 수 있었을 터인데. debian linux에 문제였군요.
그리고 제가 xetexko에 대해 절대로 폄하하려는 의도는 없습니다. 제가 개발자가 실력이 안되다보니 xetexko와 luatexko의 차이점을 몰라 <왜 그렇지?> 하는 의문점에 질문을 드린 것입니다. 오해가 없으셨으면 합니다.
그리고 위와 같이 하여 성공해 아주 기쁨니다. 다시 한번 더 감사드립니다.
제공하신 정보가 부족하여 만족스러운 답변을 드리기 어렵습니다.
1. 운영체제. 폰트 불러오기는 운영체제에 따라 방식이 조금씩 다릅니다.
2. 폰트가 설치된 위치. 문제가 되는 폰트가 어느 폴더에 있는지 (Windows의 경우에는 어떤 방식으로 설치했는지, 즉 (1) 그냥 복사해넣었다. (2) 인스톨러로 설치했다. (3) 그냥 우클릭해서 "설치"를 눌렀다. (4) 우클릭해서 "관리자 권한으로 설치"를 눌렀다, 이 넷 중에 어떤 경우에 해당하는지) 에 대해 알려주셔야 합니다. 또는 시스템에 설치하지 않고 작업 폴더에 둔 것이라면 그 상황도 설명해주십시오.
3. 폰트를 호출한 방식. 즉 (1) 폰트 이름으로 불렀는지, (2) 폰트 파일이름으로 불렀는지를 알려주셔야 하는데, 질문글에 대부분 폰트 이름으로 호출하고 있습니다만, 문제가 된 sj_kch는 폰트 이름인지 파일이름인지 모르겠군요.
4. 문제가 된 폰트를 직접 업로드하지 못하신다면, 적어도 otfinfo -i 명령으로 나오는 폰트 정보를 제공하셔야 합니다.
다시 질문해 주십시오.