본문 바로가기
Unity/Font Asset

Font Asset Creator

by ljw 2023. 4. 9.
반응형

Font Asset Creator

Window > TextMeshPro > Font Asset Creator

Font Asset Creator Property

Font의 Atlas는 폰트의 글자들이 포함된 이미지입니다. 이 이미지는 글자의 모양, 크기, 위치 및 간격 정보를 포함하고 있습니다. 게임 또는 애플리케이션에서 폰트를 사용할 때, 해당 이미지에서 글자를 자르고 배치하여 보여줍니다. 이렇게 하면 애플리케이션의 속도가 빨라지고, 성능이 개선됩니다.

Property 설명
Source Font FIle Font Asset을 만들 Source Font File
Samplling Point Size Font Texture을 생성하는 데 사용되는 Font Size(포인트 단위)이다. 크기가 클수록 렌더링 품질이 향상되지만 Atlas Space를 더 많이 차지한다.
값이 클수록 아틀라스가 더 많은 메모리와 텍스처 공간을 차지하지만 더 선명한 글꼴 텍스처를 얻을 수 있다. 값이 작을수록 덜 메모리와 텍스처 공간을 차지하지만 글꼴 텍스처가 흐릿해질 수 있다. 이 값을 결정하는 가장 좋은 방법은 실제 사용되는 화면 크기와 해상도에 맞게 테스트하고 평가하는 것이다. 보통은 16~64 사이의 값을 사용합니다.


Auto Sizing : 가능한 가장 큰 point size를 사용한다. SDF 글꼴의 일반 옵션이다.
Custom Size : 비트맵 전용 글꼴을 픽셀 단위로 정확하게 제어하기 위하여 특정한 point size를 설정하여 사용한다.
Padding Font Atlas Texture의 characters(문자들) 사이의 패딩(padding)을 설정한다.
Packing Method 문자를 Font Texture에 맞추는 방법

Optimum : Font Texture의 모든 문자에 적용할 수 있는 최대 Font 크기를 찾는다. 최종 Font Texture를 생성할 때 Optimum 옵션을 사용한다.
Fast : 문자 포장(character packing)을 더 빨리 계산하지만, Optimum 옵션보다 작은 크기의 Font를 사용한다. Font Asset 생성을 테스트할 때 Fast 옵션을 사용한다.
Atlas Resolution 픽셀 단위의 Font Texture의 높이와 너비이다. ASCII 문자만 포함된 대부분의 Font Resolution은 512 x 512를 사용하는 것이 좋다. 더 많은 문자가 있는 Font는 더 큰 Resolution과 여러 개의 Atlas가 필요하다.

SDF Font는 Resolution이 높을 수록 좋은 그라데이션(gradients)이 생성되어 고품질의 Text를 생성할 수 있지만, 텍스처의 크기가 크게 증가하여 메모리 사용량이 증가하고 렌더링 성능이 저하될 수 있다.
따라서, 'atlas resolution' 값을 선택할 때는 사용하는 기기의 스펙과 대상 플랫폼의 제한 사항 등을 고려하여 적절한 값을 선택하는 것이 좋다. 일반적으로 1024x1024 또는 2048x2048의 해상도를 사용하는 것이 적절하다고 알려져 있다.
Character Set Font File에 있는 문자들은 Font Asset에 자동으로 포함되지 않으므로, 필요한 Font는 직접 지정해야 한다. 미리 정의된 문자 집합(character set)을 선택하거나, 포함할 문자의 목록을 제공하거나, 기존의 Font Asset이나 Text Asset에 있는 문자들을 포함하는 방법이 있다.

ASCII : ASCII 문자 집합에 표시되는 문자를 포함한다.
Extended ASCII : 확장된 ASCII 문자 집합에 표시되는 문자를 포함한다.
ASCII Lowercase : ASCII 문자 집합에 표시되는 소문자만 포함한다.
ASCII UppderCase : ASCII 문자 집합에 표시되는 대문자만 포함한다.
Numbers + Symbols : ASCII 문자 집합에 표시되는 숫자와 기호만 포함한다.

Custom Range : 직접 정의한 문자의 범위만 포함한다. 10진수 값의 연속물(sequence)이나 값의 범위를 입력하여 포함할 문자를 지정한다. 기존 Font Asset에서 문자를 포함할 수도 있다. -(hyphen)을 사용하여 범위의 첫 번째 값과 마지막 값을 구분한다. ,(comma)를 사용하여 값과 범위를 구분한다.
ex. 32-126,160,8230

Unicode Range(Hex) : 직접 정의한 문자의 범위만 포함한다. 유니코드 16진수 값의 연속물(sequence)이나 값의 범위를 입력하여 포함할 문자를 지정한다. 기존 Font Asset에서 문자를 포함할 수도 있다. -(hyphen)을 사용하여 범위의 첫 번째 값과 마지막 값을 구분한다. ,(comma)를 사용하여 값과 범위를 구분한다.

ex. 20-7E,A0,2026

Custom Characters : 직접 정의한 문자의 범위만 포함한다. 문자열(sequence of characters)을 입력하여 포함할 문자를 지정한다. 기존 Font Asset에서 문자를 포함할 수도 있다. 띄어쓰기나 구분 기호 없이 연속된 문자를 입력한다.

ex. abc123*#%

Characters from File : 지정한 Text Asset에 있는 모든 문자를 포함한다. 문자 집합(character set)을 저장할 때 이 옵션을 사용한다.
Render Mode Font Atlas를 render할 Mode를 선택한다.
Get Kerning Pairs Font에서 문자 간 간격을 조정하기 위해 사용하는 문자 간격 데이터(kerning data)를 가져온다. 시각적으로 더 매끄럽고 조화로운 결과물을 얻을 수 있다.
모든 Font에서 문자 간격 데이터를 가져올 수 있지 않다. 일부 Font는 문자 간격 데이터를 glyph positioning(GPOS) 테이블에 저장하기 때문에 가져올 수 없고, 다른 일부 Font는 캐릭터 간격 데이터를 저장하지 않기 때문에 가져올 수 없다.

유니티 Font Asset Creator properties reference : https://docs.unity3d.com/Manual/UIE-font-creator-properties.html

반응형

'Unity > Font Asset' 카테고리의 다른 글

유니티(Unity) TMP(TextMeshPro) 한글 폰트(Font) 추가하기  (0) 2023.04.10
아틀라스(Atlas) 이미지(Image)  (0) 2023.04.09
OTF, TTF, SDF Font  (0) 2023.04.09

댓글