/// <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 static MieFontFooter Read(BinaryReader br, MieFont.NFormatType formatType) { MieFontFooter result = new MieFontFooter(); switch (formatType) { case MieFont.NFormatType.Unknown: break; case MieFont.NFormatType.Type1: break; case MieFont.NFormatType.Type2: //// 日本語データの構造 result.KerningTable = MieFontKerningTable.Read(br, MieFont.NFormatType.Type2); result.KerningPairBase = new MieFontKerningPairType2(); result.KerningPairBase.Read(br); result.FontFallbackFontAssets = MieFontFallbackFontAssets.Read(br); break; case MieFont.NFormatType.Type3: break; case MieFont.NFormatType.Type4: break; case MieFont.NFormatType.Type5: break; case MieFont.NFormatType.PoE2: //// オリジナルのデータ構造 result.KerningTable = MieFontKerningTable.Read(br, MieFont.NFormatType.PoE2); result.KerningPairBase = new MieFontKerningPairPoE2(); result.KerningPairBase.Read(br); result.LigaturesFileID = br.ReadInt32(); result.LigaturesPathID = br.ReadInt64(); result.InumStartAt = br.ReadInt32(); result.IsIlluminated = br.ReadBoolean(); MieFont.ReadPadding(br); result.FontFallbackFontAssets = MieFontFallbackFontAssets.Read(br); break; default: throw new Exception($"Unknown format type({formatType})."); } //// result.FontCreationSetting = MieFontCreationSetting.Read(br); //// result.FontWeights = MieFontWeights.Read(br); result.NormalStyle = br.ReadSingle(); result.NormalSpaceingOffset = br.ReadSingle(); result.BoldStyle = br.ReadSingle(); result.BoldSpacing = br.ReadSingle(); result.ItalicStyle = br.ReadInt32(); result.TabSize = br.ReadInt32(); return(result); }