Пример #1
0
        /// <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);
        }
Пример #2
0
        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();
        }