글리프 비트맵 분포 형식
Glyph Bitmap Distribution FormatAdobe의 Glyph 비트맵 배포 형식(BDF)은 비트맵 글꼴을 저장하기 위한 파일 형식이다.내용은 사람이 읽을 수 있고 컴퓨터로 읽을 수 있는 텍스트 파일의 형식을 취한다.BDF는 일반적으로 Unix X Window 환경에서 사용된다.다소 효율적인 PCF 글꼴 형식과 OpenType, TrueType 글꼴과 같은 확장 가능한 글꼴로 대체되었다.
개요
2013년[update] 현재 BDF의 현재 버전은 2.2이다.향후의 개정은 예상되지 않는다.이전 버전은 문자 비트맵 배포 포맷으로 언급되었다.
1988년 X 컨소시엄은 X 윈도 화면 글꼴 표준으로 BDF 2.1을 채택했지만,[1] X 윈도우는 PCF, 오펜티프, 트루테페 등 다른 글꼴 표준으로 크게 옮겨갔다.
버전 2.2는 비서양 쓰기에 대한 지원을 추가했다.예를 들어 BDF 2.2 글꼴 정의의 글리프는 단순히 왼쪽에서 오른쪽으로가 아니라 위에서 아래로 렌더링을 지정할 수 있다.
BDF 글꼴 파일에는 세 개의 섹션이 있다.
- 글꼴의 모든 글리프에 적용되는 전역 섹션.
- 각 글립프에 대해 별도의 항목이 있는 섹션
- ENDFONT 성명서
예
이것은 ASCII 대문자 'A'에 대한 하나의 글리프를 포함하는 예시 글꼴이다.이 글리프는 GNU 유니폰트에서 채취한 것이다.
STARTFONT 2.1 FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1 SIZE 16 75 75 FONTBOUNDINGBOX 16 16 0 -2 STARTPROPERTIES 2 FONT_ASCENT 14 FONT_DESCENT 2 ENDPROPERTIES CHARS 1 STARTCHAR U+0041 ENCODING 65 SWIDTH 500 0 DWIDTH 8 0 BBX 8 16 0 -2 BITMAP 00 00 00 00 18 24 24 42 42 7E 42 42 42 42 00 00 ENDCHAR ENDFONT
위의 예에서 글로벌 선언은 "STARTFONT" 라인으로 시작하고 "CARRS" 라인으로 끝난다.
"STARTFONT 2.1"은 이 BDF 파일의 버전을 버전 2.1로 정의한다.
"FONT -gnu-unifont-medium-r-normal--16-160-75-75-c-80-iso10646-1"은 글꼴 계열과 얼굴 이름을 X 논리 글꼴 설명으로 정의한다.
"SIZE 16 75 75"는 이를 16 포인트 글꼴로 정의하며, X축 분해능은 인치(dpi)당 75 도트, Y축 분해능은 75 dpi이다.이것은 X 윈도 아래에서의 표준이다.
"FONTBANDINGBOX 16 16 0 -2"는 가로 16픽셀, 세로 16픽셀 크기의 글꼴에 대한 경계 상자를 정의하며, 왼쪽 하단 모서리는 x=0, y=-2에서 시작한다.경계 박스는 16x16 셀로 정의되지만 개별 글리프에는 이를 재정의할 수 있다는 점에 유의하십시오.예를 들어, "A" 글리프는 폭이 8픽셀에 불과하다.
"STARTProperties 2"는 두 개의 특수 속성이 뒤따를 것임을 선언한다."STARTPROPERTIES"는 BDF 사양에서 선택 사항이다.X Window는 모든 글리프에 대해 FONT_ASCENT 및 FONT_DESCENT 속성이 각각 기준선 위와 아래의 높이를 표시할 수 있도록 허용한다. "FONT_ASCENT 14"는 높이 16픽셀 중 14픽셀이 기준선 위임을 선언한다."FONT_DESCENT 2"는 높이 16픽셀 중 2픽셀이 기준치 이하임을 선언한다."ENDProperties"는 "STARTProperties" 섹션의 끝에 나타난다.
"CHARS 1"은 한 캐릭터가 따를 것이라고 선언한다.Adobe는 현재 이 파일 형식을 글리프 BDF로 언급하고 있지만, 그들은 명세서의 최종 버전에서 "CARRS"라는 키워드를 유지했다.
"COMMENT"라는 단어로 시작하는 줄은 BDF 파일에 삽입할 수 있다.줄의 "COMMENT" 키워드 뒤에 오는 것은 무시된다.
위의 전역 선언에 따라 각 글리프마다 다음 항목이 반복될 수 있다.
"STARTHAR U+0041"은 2.1 및 이전 버전에서 문자의 시작 또는 2.2 버전에서 글리프를 지정한다.이 특정 문자의 문자열 이름은 "U+0041"이며 유니코드 규약에서 코드 포인트 16진수 41(십진수 65, ASCII 문자 "A")을 표현한다.버전 2.1 이하에서는 문자 이름 문자열이 14자로 제한되었다.버전 2.2에서 글리프 이름 문자열은 최대 65,535자를 포함할 수 있다.
"ENCoding 65"는 글꼴에서 이 글리프에 대한 십진수 코드 포인트를 선언한다.
"SWIDTH 500 0"은 X축에서는 500, Y축에서는 0(기본값)의 확장 가능한 폭을 선언한다.이로 인해 다음 글리프에 X 축 오프셋이 발생하지만 다음 글리프에 대한 Y 축 오프셋은 발생하지 않는다(즉, 글리프는 직선으로 나타난다).확장 가능한 너비는 문자의 실제 포인트 크기의 1000배(AFM(Adobe Font Metric) 파일에 사용되는 단위와 동일하다.다음으로 계산된 픽셀 수
픽셀 = (svm_width / 1000) *(해상도 / 72),
여기서, 이 예에서는 확장 가능한_width가 500이고, 이 글꼴의 해상도는 75 dpi이다.75는 대략 72와 같기 때문에 픽셀의 수는 500 / 1000을 곱한 글리프(전지구적으로 16 픽셀로 정의)의 전체 너비 또는 다시 말하면 이 글리프의 너비는 8 픽셀이다.
"DWIDE 8 0"은 글리프의 장치 폭을 선언한다.이 경우, 글리프를 렌더링한 후 다음 글리프의 시작은 X축에서는 8픽셀, Y축에서는 현재 글리프 원점에서 0픽셀이 오프셋된다.장치 폭은 반드시 글리프의 폭과 같지 않다는 점에 유의하십시오.X축의 오프셋은 단순히 현재 점을 다음 글리프 시작점으로 이동시키는 것이다.
확장 가능한 너비는 프린터에서 고해상도 글리프의 너비를 계산하는 데 사용되는 반면 장치 너비는 디스플레이 장치의 글리프의 너비를 계산하는 데 사용된다.따라서 확장 가능한 너비는 장치 너비보다 더 큰 정밀도로 지정된다.
'BBX 8 16 0-2'는 너비 8픽셀, 높이 16픽셀의 경계 상자를 선언한다.문자의 왼쪽 하단 모서리는 X축에서는 0픽셀, Y축에서는 -2픽셀이 오프셋된다.
"비트맵"은 현재 글리프의 비트맵을 시작한다.이 선은 Y축에서 픽셀당 한 선씩 따라가야 한다.이 예에서는 글리프의 높이가 16픽셀이므로 16개의 선이 뒤따른다.각 선은 픽셀의 16진법을 한 행에 담고 있다."1" 비트는 렌더링 픽셀을 나타낸다.각 선은 8비트(1바이트) 경계로 반올림되며, 우측에 0으로 패딩된다.이 예에서 글리프는 정확히 8픽셀 폭이며, 따라서 패딩이 없도록 라인당 정확히 8비트(1바이트)를 차지한다.래스터 데이터 라인의 가장 중요한 비트는 가장 왼쪽 픽셀을 나타낸다.
"ENDCHAR"은 현재의 글리프를 종료한다.
"ENDCHAR"를 통한 "STARTCAR" 선언은 각 글립자에 대해 글꼴로 반복된다.
"ENDFONT"는 글꼴의 모든 글리프를 열거한 후 파일의 마지막 행으로 나타난다.
버전 2.2 확장
BDF 규격의 버전 2.2는 비서양 글꼴에 대한 지원을 추가한다.이러한 추가는 X축과 Y축에서 양 또는 음의 움직임에 의해 원점을 이동할 수 있게 한다.이것은 오른쪽에서 왼쪽으로 쓰는 방향뿐만 아니라 위에서 아래로(예: 중국어의 경우)까지 수용할 수 있다.다음 값은 다국적 지원을 제공한다.
MetricsET: 방향 0을 쓰려면 0으로, 방향 1을 쓰려면 1로, 또는 (초기 글로벌 영역에서) 양쪽 방향 모두 같은 글꼴 내에서 쓰기 방향으로 설정하십시오.기존의 서양식 왼쪽에서 오른쪽 스크립트는 "METRYSET 0"을 사용한다.
SWIDTH1, DWIDE1: 각각 SWIDTH 및 DWIDE와 동일한 파라미터를 가진다.MATRESET 1 글리프에 대해 DWIDS1이 있어야 한다.상쇄는 양수 또는 음수일 수 있다.
VVECTOR는 모드 0 글리프에서 모드 1 글리프로 전환하기 위한 X 축 오프셋과 Y 축 오프셋을 정의한다.모드 1에서 모드 0 글리프 전환 중에 반대되는 오프셋이 적용된다.
이 계획은 두 가지 쓰기 방향을 쉽게 수용한다.역사적으로 글꼴은 128개 또는 256개의 코드 포인트를 가지고 있었다.오늘날 유니코드는 백만개 이상의 코드 포인트를 허용한다.글꼴은 수천 개의 글리프를 포함할 수 있으며, 그 중 일부는 왼쪽에서 오른쪽으로, 일부는 오른쪽에서 왼쪽으로, 그리고 일부는 위에서 아래로 써야 한다.이러한 다방향 쓰기는 각 글립자에 대해 DWID1과 SWIDTH1을 창의적으로 사용해야 한다.
국제 지원을 위해 추가된 키워드 외에 버전 2.2에는 "CENTDENTVERSION" 선언이 추가된다.이 키워드에 이어 정수를 입력하여 글꼴의 버전 번호를 표시한다.
자세한 내용은 버전 2.2 사양을 참조하십시오.
X 창 속성
X Window 글꼴 유틸리티는 BDF 파일의 STARTProperties 섹션에서 지정할 수 있는 여러 속성을 지원한다.[2]일반 BDF 파일은 ASCII 인코딩으로 되어 있다.X Window 속성은 ASCII의 확장인 ISO 8859-1 인코딩을 사용하여 지정된다.이러한 속성은 다음을 포함한다.
- CAP_HIGH 정수— 대문자의 기준선 위의 높이(Cap 높이 참조).
- 저작권 문자열—저작권 문구.
- DEFAULT_CAR 양극—정의되지 않은 글리프에 대해 표시할 기본 문자(글리프)
- FACE_NAME 문자열—이 글꼴의 면 이름.
- 글꼴 문자열—글꼴의 X 창 이름.
- FONT_ASCENT 정수—라인 간격 계산을 위한 기준선 위의 높이.
- FONT_DESCENT 정수—라인 간격 계산을 위한 기준선 아래의 설명자.
- FONT_VERSION 문자열—글꼴 버전
- 파운드리 스트링
- FAME_NAME 문자열—글꼴 패밀리 이름.
- 알림 문자열—일반 주석.
- POINT_SIZE 정수—점(일반)을 참조하십시오.별도로 지정하지 않으면 EMspace = 라운드(POINT_SIZE/10), ENspace = 라운드(POINT_SIZE/20), Thinspace = 라운드(POINT_SIZE/30)가 된다.
- 분해능_X 양성
- 분해능_Y 양성
- SLANT 문자열 - "R"는 로마자, "I"는 이탈리아어, "O"는 사선, "RI"는 리버스 사선, "RO"는 리버스 사선, "OT"는 기타, 숫자는 다형성 사선 능력을 나타낸다.
- WIGHT_NAME 문자열—이 글꼴의 무게("볼드" 및 "일반")는 설정 열거되지 않지만 일반적이다.
- X_높이 정수— 소문자 'x'의 기준선 위의 높이(X-높이 참조).
...여기서 "integer"는 자연수, "positive"는 양수(값 1 이상)이며, "string"은 ISO 8859-1 문자열이다.
메모들
- ^ "X Window System, Version 11, Release 3". X.Org Foundation. October 1988. Retrieved 19 January 2016.
- ^ Flowers, Jim (1994) [1988]. "3.2 Font Properties". X Logical Font Description Conventions (Version 1.5 ed.). X Consortium, Inc. p. 13. Archived from the original on 2013-03-31. Retrieved 2009-01-08.
참조
- The Unicode Standard, Version 5.0. The Unicode Consortium (5th ed.). Addison-Wesley. October 2006. ISBN 978-0-321-48091-0.
{{cite book}}
: CS1 maint : 기타(링크)