orioncactus / pretendard

어느 플랫폼에서든 사용할 수 있는 system-ui 대체 글꼴 | A system-ui alternative font for all cross-platform
https://cactus.tistory.com/306
Other
2.7k stars 155 forks source link

Pretendard JP 가변 다이나믹 서브셋 사용 시 `font-family`를 'Pretendard JP'로 설정해야 정상 작동합니다. #188

Closed segln closed 7 months ago

segln commented 7 months ago

Pretendard JP 가변 다이나믹 서브셋 사용 중입니다. 다른 서브셋의 경우는 테스트해 보지 않았습니다.

font-family를 'Pretendard JP Variable'로 적용하면 알파벳에는 정상적으로 적용되지만, 한글에는 그렇지 않습니다. font-family를 'Pretendard JP'로 설정하면 정상 작동합니다.

환경

Windows 11 Pro 23H2 Chrome 122.0 Firefox 123.0

Windows Sandbox 이용 격리된 환경에서 실험했으며, 매 시도는 캐시 삭제 후 진행되었습니다.

이용한 CSS

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-jp-dynamic-subset.min.css");

README에서 권장하는 사용법 (한글이 작동하지 않으며, 기본 fallback 폰트로 표시됨)

html {
    font-family: 'Pretendard JP Variable';
}

실제 작동하는 사용법

html {
    font-family: 'Pretendard JP';
}
segln commented 7 months ago

테스트 소스

1.html

<!DOCTYPE HTML>
<head>
    <link rel="stylesheet" type="text/css" href="./font.css">
</head>
<body>
    <div id="test-nonvariable">No Variable; 테스트:프리텐다드</div>
    <div id="test-withvariable">With Variable; 테스트:프리텐다드</div>

    <div id="test-nonvariable" style="font-weight: 900">No Variable; 900; 테스트:프리텐다드</div>
    <div id="test-withvariable" style="font-weight: 900">With Variable; 900; 테스트:프리텐다드</div>
</body>

font.css

@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-jp-dynamic-subset.min.css");

#test-nonvariable {
    font-family: 'Pretendard JP'
}

#test-withvariable {
    font-family: 'Pretendard JP Variable'
}

스크린샷

image

kms0219kms commented 7 months ago

Pretendard JP의 서브셋은 한글을 지원하지 않습니다.

segln commented 7 months ago

음, Pretendard JP만 제대로 작동하고 Pretendard JP Variable이 작동하지 않는 상황인데요.

kms0219kms commented 7 months ago

불러오신게 Pretendard JP Variable의 가변 서브셋이 아닌가요? 로컬에 설치되는 거와 같은 형태인 전체버전 Pretendard JP는 한글 하위지원이 한정적으로 되는것으로 기억합니다만, 서브셋은 아마도 용량 문제로 드랍하였을겁니다.

segln commented 7 months ago

아, 무슨 말씀이신지 이해했습니다. 그렇다면 기본 버전 Pretendard Variable을 사용하는 게 맞겠네요.

kms0219kms commented 7 months ago

기본버전의 JP Variable에서도 안된다면 이슈 다시 오픈해 주세요! 현재로서는 일본어 지원도 필요하면, JP와 일반버전 서브셋 모두 불러오는 방법도 있습니다.

segln commented 7 months ago

맞네요. 그렇게 하면 평소엔 기본 버전을 사용하다가 필요 시 JP도 사용할 수 있겠어요.

빠르고 친절한 답변 정말 감사합니다.