Sile 용 글꼴 디자인 테스트 클래스.
FontProof를 사용하면 Indesign 또는 기타 수동 페이지 레이아웃 또는 워드 프로세싱 프로그램을 사용하지 않고 PDF 글꼴 테스트 문서를 생성 할 수 있습니다. 미리 설계된 테스트 문서 중 하나 (나중에 추가)를 적용하거나 FontProof를 사용하여 고유 한 사용자 정의 글꼴 테스트 문서를 작성할 수 있습니다.
FontProof는 진행중인 작업이므로 아직 작동하지 않거나 매우 우아하게 작동하지 않는 것이 많이 있습니다. 자신의 위험에 사용하고 우리가 더 나아지게하도록 도와줍니다.
FontProof에는 Sile Teysetter가 필요합니다. 해당 패키지의 지침에 따라 Sile을 설치해야합니다.
Sile은 빠르게 변화하고 있습니다. 현재 클래스는 릴리스 0.14.0 또는 최신으로 개발되었으며 테스트되었습니다. 이전 버전의 Sile을 지원하려면 이전 버전의 글꼴을 참조하십시오.
FontProof의 설치는 주로 Lua Rocks를 통해 수행됩니다.
$ luarocks install fontproofSILE V0.14.0 또는 NEWER의 작업 설치는 가정하지만 설치 시간에는 확인되지 않습니다.
소스 디렉토리에서 수동으로 설치할 수도 있습니다.
$ luarocks make FontProof 실행은 자체 CLI를 통해 수행됩니다.
$ fontproof --help
Usage: fontproof [OPTIONS] [--] [SILEARGS-1 [SILEARGS-2 [...]]]
ARGUMENTS:
SILEARGS All remaining args are passed directly to SILE
(optional)
OPTIONS:
-F, --family=VALUE Specify the font to be tested as a family name
(ignored if --filename used)
-f, --filename=VALUE Specify the font to be tested as a path to a
font file
-o, --output=FILE output file name
-p, --features=VALUE Specify the test font features
-s, --size=VALUE Specify the test font size
-S, --style=VALUE Specify the test font style (ignored if
--filename used)
-t, --template=VALUE Use the bundled template by name (full,
gutenberg, test, unichar);
-w, --weight=VALUE Specify the test font weight (ignored if
--filename used)
-h, --help display this help, then exit
-v, --version display version information, then exit 4 개의 스타터 템플릿이 상자 밖으로 제공됩니다. 그것들을 적응시키기 위해서는 가장 좋은 방법은 아마도 당신이 직접 머리를 수정하고 수정하려는 곳과 가장 유사한 것을 복사하는 것입니다. 템플릿의 주요 특징은 글꼴 방지 클래스를 사용한다는 것입니다. 그것이 정의하는 특수 명령의 사용은 필요로합니다.
예를 들어:
$ cp /usr/local/share/lua/ < version > /fontproof/templates/full.sil mytemplate.sil
$ fontproof -- mytemplate.sil이 시점에서 하나의 주요 템플릿 -fpfull.sil- 이 있지만 더 많은 것이 뒤 따릅니다. 이 템플릿은 FontProof가 할 수있는 거의 모든 것을 보여줄 것입니다. Sile 자체는 멀리 떨어져있을 수 있으며, 그와 함께 놀 수 있습니다.
FontProof를 사용하는 대안적인 방법으로 Docker 이미지는 Docker Hub 또는 Sile과 Github 컨테이너 레지스트리 및 FontProof 클래스가 구운 상태에서 사용할 수 있습니다. 릴리스 버전은 일치하는 태그 (예 : v2.0.5 ), 최신 릴리스는 latest 태그로 표시되며 master 태그는 가장 새로운 개발 빌드에서도 사용할 수 있습니다. 유용하려면 Docker Run Command에 소스 문서에 도달 할 수있는 방법 (따라서 출력을 작성할 장소를 제공 할 수있는 방법)과 호스트 시스템에있는 사람을 알려 주므로 컨테이너 내부에 생성 된 출력을 예상 소유권 속성으로 생성 할 수 있습니다. 다음과 같은 별칭으로 실행하는 것이 가장 쉬울 수 있습니다.
$ alias fontproof= ' docker run -it --volume "$(pwd):/data" --user "$(id -u):$(id -g)" siletypesetter/fontproof:latest '
$ fontproof proofs.sil Docker Images를 작업 러너로 사용할 수있는 원격 CI 시스템은 글꼴 기능을 실행하도록 구성 할 수 있습니다. 또한 시장에서 기성품 Github 액션을 사용할 수 있습니다.
name : FontProof
on : [push, pull_request]
jobs :
fontproof :
runs-on : ubuntu-latest
name : FontProof
steps :
- name : Checkout
uses : actions/checkout@v4
- name : FontProof
uses : sile-typesetter/fontproof@latest
with :
args : proofs.sil .github/workflows/fontproof.yml 로 저장소에 추가하십시오. 이 작업 흐름은 귀하의 프로젝트에 소스 파일 proofs.sil fontproof.pdf 가정합니다. latest 태그 버전과 관련하여 Docker에 대한 섹션의 주석은 여기에 동일하게 적용되지만 Github Actions는 Docker의 대신 @ 분리기를 사용합니다 :
각 템플릿에는 모든 테스트를 선택할 수 있습니다. 각 테스트는이 일반 형식으로 명령을 사용하여 지정됩니다.
commandname[set of parameters]{text to be typeset}
일부 테스트에는 Sile 자체 내에서 기본적으로 지원되는이 예제에서와 같이 일부 테스트에는 매개 변수 또는 텍스트 만 있거나 텍스트 만 있거나 없습니다.
pangrams
Sile에서 실행 명령에 대한 자세한 내용은 Sile 매뉴얼에서 찾을 수 있습니다.
기본적으로 Running Head는 파일 이름, 글꼴 (패밀리 또는 파일 이름), 날짜 및 시간을 나열합니다. 컨텐츠는 (현재) 구성 가능하지 않지만 setRunHeadStyle 명령으로 글꼴과 크기를 설정할 수 있습니다. 이것은 테스트 글꼴과 관련이 없습니다.
%setRunHeadStyle[filename="Example-Bold.ttf", size="12pt"]
섹션과 하위 섹션 제목을 추가하려면 :
section{Heading text}
subsection{Heading text}
이 스타일은 현재 구성 가능하지는 않지만 클래스/fontproof.lua 의 설정을 변경하여 모든 글꼴 방지 문서에 대해 수동으로 조정할 수 있습니다.
다음 종류의 테스트가 지원되며 fpfull.sil 에 설명되어 있습니다.
이를 지정하는 데 사용되는 명령에 대한 세부 사항은 다음과 같습니다.
FontProof는 Copyright © 2016 SIL International이며 MIT 라이센스에 따라 라이센스가 부여됩니다. BTW- 이름 유사성에도 불구하고 Sile 자체는 Sil International에 의해 개발되지 않았지만 프로젝트를 매우 좋아합니다. 폰트 방지 및 실에 기여하는 것을 환영합니다.
이 명령은 현재 지원됩니다.
이것은 주요 글꼴 방지 명령이며 간단한 테스트 텍스트와 폭포를 모두 설정하는 데 사용할 수 있습니다. 선택적 매개 변수에는 글꼴 (가족 또는 파일 이름 별) 및 크기가 포함됩니다. 별도의 section 명령을 사용하지 않고 여기에서 테스트 제목을 설정할 수도 있습니다.
proof{This is basic proof text using the test font}
proof[family="Gentium Plus",heading=A basic family test]{This is basic text with a font defined by family}
proof[size="10pt",filename="Example-Light.ttf",heading=A basic filename test]{This is another basic text with common parameters}
proof[size="10pt,11pt,12pt,16pt"]{This is basic proof text in a range of sizes}
proof[size="10,11,12,13,20"]{This is basic proof text in a range of sizes with numbers only}
proof[features="Ligatures=Rare, Ligatures=Discretionary"]{This is a proof with rare ligatures turned on}
proof[features="+dlig,+hlig"]{This is a proof with features manipulated manually}
proof[language="grk",direction = "rtl"]{Here are some options which are passed on to the font command}
proof[color="green"]{Here are some options which are passed on to the color command}
proof[shapers="ot,fallback"]{Here we pass a list of subshapers to Harfbuzz}
이렇게하면 주요 장소에서 다양한 문자가있는 텍스트의 여러 사본이 생성됩니다. 이들은 때때로 '프레임 테스트'라고도합니다. 전통적 으로이 유형의 일반적인 테스트는 '호보 노프'테스트였습니다. ABCD를위한 '호보 노프'는 다음과 같습니다.
haoabaoanaoap hbobbbobnbobp hcocbcocncocp hdodbdodndodp
이것을 생산하라는 명령은 다음과 같습니다.
pattern[chars="@",reps="abcd"]{h@o@b@o@n@o@p}
이것은 자리 표시 자 문자를 정의 한 다음 그것을 대체하는 데 사용되는 문자 세트를 정의 한 다음 자리 표시자를 포함하는 텍스트 패턴을 정의합니다.
여러 자리 표시자를 사용하여 다음과 같이 모든 조합을 생성 할 수 있습니다.
ooaxoo oobxoo oocxoo
Ooayoo Oobyoo Oocyoo
이에 대한 명령은 다음과 같습니다.
pattern[chars="@,#",reps="abc,xy"]{oo@#oo}
Sile과 Lua에 특별한 캐릭터가 있으며 숯 으로 사용해서는 안됩니다. (제안 된 안전한 것들의 목록은 여기에 좋은 추가가 될 것입니다!) 또한 담당자 에있는 캐릭터를 사용하는 것도 나쁜 생각입니다.
pattern 명령에는 선택적인 매개 변수가 하나 더 있습니다.
설명하는 것보다 이것을 보여주는 것이 더 쉽습니다. 먼저 형식의 예제, 다음을 생성하라는 명령입니다.
ooaxoo oobxoo oocxoo
Ooayoo Oobyoo Oocyoo
pattern[chars="@,#",reps="abc,xy",format="table"]{oo@#oo}
ooaxoo
Oobxoo
Oocxoo
ooayoo
Oobyoo
Oocyoo
pattern[chars="@,#",reps="abc,xy",format="list"]{oo@#oo}
ooaxoo oobxoo oocxoo ooayoo oobyoo oocyoo
pattern[chars="@,#",reps="abc,xy",format="para"]{oo@#oo}
이것은 멋지다! 여러 패턴 테스트에서 사용하려는 문자 그룹이 있지만 반복해서 정의하고 싶지 않다고 가정 해 봅시다. 이를 특정 이름으로 패턴 그룹으로 정의 할 수 있습니다. 문서를 참조하기 전에 문서에서 이러한 그룹을 정의해야합니다. 또한이 명령은 실제로 페이지 자체에서 아무것도 생성되지 않습니다. 나중에 pattern 명령에만 유용합니다.
patterngroup[name="vowels"]{aeiou}
이를 pattern 명령에서 "Group_"로 그룹 이름을 접두사로 언급하고 reps 매개 변수에서 사용합니다. 예를 들어:
pattern[chars="@,#",reps="group_vowels,xy",format="table"]{oo@#oo}
아래에 나열된 몇 가지 사전 정의 그룹도 있습니다. 또한 자신의 영구 그룹을 패키지/fontproofgroups.lua 에서 정의 할 수도 있습니다.
| 그룹 이름 | 설명 |
|---|---|
| Group_az | 기본 소문자 알파벳 |
| Group_az | 기본 대문자 알파벳 |
| Group_combdiacs | 기본 결합 디아크리닉 |
| 그룹_09 | 기본 숫자 |
| Group_Punct | 기본 구두점 |
FontProof에는 다양한 내장 테스트 텍스트가 포함되어 있습니다. proof 또는 pattern 명령의 내용을 다음 사전 설정 text_xxxx 이름으로 설정하십시오. 패키지/fontprooftexts.lua 에 자신의 텍스트를 추가 할 수도 있습니다.
| 콘텐츠 | 설명 |
|---|---|
| Text_az | 기본 소문자 알파벳 |
| Text_az | 기본 대문자 알파벳 |
| text_combdiacs | 기본 결합 디아크리닉 |
| text_spacingdiacs | 기본 간격 디아크리닉 |
| 텍스트 _09 | 기본 숫자 |
| text_numsym | 숫자 및 관련 기호 |
| Text_nummath | 수학적 기호 |
| Text_symbols | 일반적인 기호 |
| Text_punct | 기본 구두점 |
| Text_pangram | 간단한 판 그램 |
| Text_verne | 바다 아래 20,000 리그 에서 발췌 |
| text_vernecaps | 대문자 버전 |
| Text_reveng | 요한 계시록 7 (영어)에서 발췌 |
| Text_revfin | 요한 계시록 7 (핀란드)에서 발췌 |
| Text_revger | 요한 계시록 7 (독일어)에서 발췌 |
| Text_revdut | 요한 계시록 7 (네덜란드)에서 발췌 |
| Text_revind | 요한 계시록 7 (인도네시아)에서 발췌 |
| text_revswa | 요한 계시록 7 (Swahili)에서 발췌 |
| 텍스트 _arrowroot | 전통적인 글꼴 테스트 텍스트 |
| Text_capsLower | 소문자 키 문자 /O 및 /N에 대한 라틴 캐피탈 |
| Text_bringhurst | Bringhurst의 "타이포그래피 스타일의 요소"의 커닝 테스트 |
| text_allkernpairs | 라틴 어퍼 및 소문자의 모든 조합을 포함하는 텍스트 |
| Text_jafkerns | 또 다른 파운드리의 텍스트 생성기의 커닝 테스트 |
이것은 사전을 사용하여 lorem 과 유사한 실제 단어로 구성된 쓰레기 텍스트를 제작합니다. 그러나 단어에는 공급 세트의 문자 만 포함합니다.
adhesion[characters=hamburgefonsiv]
선택적 인수는 words , 단어 수 (120으로 dict ) 및 사전 파일의 경로입니다. 클래스는 dict 옵션이 제공되지 않으면 /usr/share/dict/words /usr/dict/words 로 살펴 봅니다. 단어는 지정된 문자 만 포함하면 사전 파일에서 선택됩니다.
이것은 Project Gutenberg의 텍스트를 다운로드하고 시형화합니다.
gutenberg[id=100] % The complete works of Shakespeare
PI의 일부 숫자를 조판합니다.
pi[digits=500]
이것은 범위의 유니 코드와 해당 범위의 USV를 나타내는 모든 글리프를 보여주는 단순한 무작정 테이블을 생성합니다.
몇 가지 예 :
unicharchart[type="all",columns="12",rows="16"]
이렇게하면 글꼴로 인코딩 된 모든 문자를 표시하는 테이블이 생성되며, USV가 열이 내려 오는 USV가 컬럼 당 16 숯으로 표시되며 새 테이블로 나누기 전에 최대 12 개의 열이 있습니다. 이것은 유니 코드 표준 코드 차트의 표와 매우 유사하며 간단한 unicharchart 의 기본 설정 일 수 있습니다.
unicharchart[type="range",start="AA80",end="AADF"]
이것은 주어진 범위의 USV를 보여주는 것을 제외하고는 동일하게 생성됩니다.
이들은 폴트 푸른 상태 없이도 타일로 작동하지만 script[src=packages/specimen] 으로로드해야합니다.
이것은 사전 정의 된 판 그램 세트를 생성합니다.
이것은 단어의 수를 표시하여 쓰레기 Lorem Ipsum 텍스트를 생성합니다.
이것은 글꼴에 모든 글리프의 멋지게 배열 된 테이블을 생성합니다.
다음은 제안 된 명령 형식과 함께 언젠가 지원하고자하는 몇 가지 명령입니다. 일부는 결코 구현되지 않을 수 있습니다. 제안을 환영합니다!
우리는 proof 에 대한 더 많은 잠재적 매개 변수를보고 싶습니다.
proof[
size = "10, 11/13, 12/16",
columns = 3,
lines = 12
]{Text}
oooooh!