font について
SotD は bitmap font です。Unity の bitmap フォントは色々なパターン(NGUI 等)があるのですが今回は標準形の bitmap font で UnityEx 上で font (type 128) のファイル名の拡張子が font_raw で表示されているものです。ttf の方は dynamic font になります。
font_raw:
struct FontRaw {
ascii_stzrt_offset: i32,
tracking: f32,
line_spacing: f32,
character_spacing: i32,
character_padding: i32,
convert_case: i32,
default_material: ObjId,
character_rects_size: u32, // 0 == dynamic font, 0 != bitmap font
character_rects: Vec<CharacterInfo>,
texture: ObjId,
kerning_size: u32,
kerning: Vec<PairData>,
pixel_scale: f32,
font_data_size: u32, // 0 != dynamic font, 0 == bitmap font
font_data: Vec<u8>, // ttf image
font_size: f32,
ascent: f32,
default_style: i32,
font_name_size: u32,
font_names: Vec<FontName>,
fallback_fonts_size: u32,
fallback_font: Vec<FallbackFont>,
font_rendering_mode: i32,
}
ここで注目するのは、bitmap font は caracter_rects (座標情報)のデータが存在し dynamic font は font_data (ttf ファイルそのもの) が存在する。
つまり bitmap → dynamic への変換は
character_rects_size = 0;
character_rects はカット
kerning_size = 0; << kerning はカット
kerning は無し
font_data_size = ttf ファイルサイズ
font_data = ttf ファイルデータと置き換える
とし
convert_case = -2;
とすると dynamic font へ変換されます。
後は、この変換された raw_font データを UnityEx にてインポートすると



と表示されます。
フォントサイズは要調整のような気もするが…
SotD は bitmap font です。Unity の bitmap フォントは色々なパターン(NGUI 等)があるのですが今回は標準形の bitmap font で UnityEx 上で font (type 128) のファイル名の拡張子が font_raw で表示されているものです。ttf の方は dynamic font になります。
font_raw:
struct FontRaw {
ascii_stzrt_offset: i32,
tracking: f32,
line_spacing: f32,
character_spacing: i32,
character_padding: i32,
convert_case: i32,
default_material: ObjId,
character_rects_size: u32, // 0 == dynamic font, 0 != bitmap font
character_rects: Vec<CharacterInfo>,
texture: ObjId,
kerning_size: u32,
kerning: Vec<PairData>,
pixel_scale: f32,
font_data_size: u32, // 0 != dynamic font, 0 == bitmap font
font_data: Vec<u8>, // ttf image
font_size: f32,
ascent: f32,
default_style: i32,
font_name_size: u32,
font_names: Vec<FontName>,
fallback_fonts_size: u32,
fallback_font: Vec<FallbackFont>,
font_rendering_mode: i32,
}
ここで注目するのは、bitmap font は caracter_rects (座標情報)のデータが存在し dynamic font は font_data (ttf ファイルそのもの) が存在する。
つまり bitmap → dynamic への変換は
character_rects_size = 0;
character_rects はカット
kerning_size = 0; << kerning はカット
kerning は無し
font_data_size = ttf ファイルサイズ
font_data = ttf ファイルデータと置き換える
とし
convert_case = -2;
とすると dynamic font へ変換されます。
後は、この変換された raw_font データを UnityEx にてインポートすると



と表示されます。
フォントサイズは要調整のような気もするが…
コメント