/// <summary> /// Reade Header. /// </summary> /// <param name="reader">reader</param> /// <param name="formatType">TMPのフォーマットタイプ。</param> /// <returns>Header</returns> public static MieFontHeader Read(BinaryReader reader, MieFont.NFormatType formatType) { var result = new MieFontHeader(); result.GameObjectFileID = reader.ReadInt32(); result.GameObjectPathID = reader.ReadInt64(); result.GameObjectEnables = reader.ReadBoolean(); MieFont.ReadPadding(reader); result.ScriptFileID = reader.ReadInt32(); result.ScriptPathID = reader.ReadInt64(); result.FileName = MieFont.ReadString(reader); result.FileNameHashCode = reader.ReadInt32(); result.MaterialFileID = reader.ReadInt32(); result.MaterialPathID = reader.ReadInt64(); result.MaterialHashCode = reader.ReadInt32(); result.FontAssetType = reader.ReadInt32(); result.FontInfo = new MieFontInfo(formatType); result.FontInfo.Read(reader, formatType); result.AtlasFileID = reader.ReadInt32(); result.AtlasPathID = reader.ReadInt64(); return(result); }
public void Read(BinaryReader reader, MieFont.NFormatType formatType) { this.Name = MieFont.ReadString(reader); this.PointSize = reader.ReadSingle(); this.PointScale = reader.ReadSingle(); this.CharacterCount = reader.ReadInt32(); this.LineHeight = reader.ReadSingle(); this.Baseline = reader.ReadSingle(); this.Ascender = reader.ReadSingle(); this.CapHeight = reader.ReadSingle(); this.Descender = reader.ReadSingle(); this.CenterLine = reader.ReadSingle(); this.SuperScriptOffset = reader.ReadSingle(); this.SubScriptOffset = reader.ReadSingle(); this.SubSize = reader.ReadSingle(); this.UnderlineUnderline = reader.ReadSingle(); this.UnderlineUnderlineThickness = reader.ReadSingle(); if (formatType != MieFont.NFormatType.PoE2) { //// オリジナルと自作フォントのレイアウトが会わない! //// 自作分はここに次のに項目が追加されている。 this.StrikeThrough = reader.ReadSingle(); this.StrikeThroughThickness = reader.ReadSingle(); } this.TabWidth = reader.ReadSingle(); this.Padding = reader.ReadSingle(); this.AtlasWidth = reader.ReadSingle(); this.AtlasHeight = reader.ReadSingle(); }