private static InfoSection ReadInfoBlock(DataReader reader) { var result = new InfoSection { Size = reader.ReadInt16(), }; byte bitField = reader.ReadByte(); result.SmoothEnabled = IsBitSet(bitField, 0); result.IsUnicode = IsBitSet(bitField, 1); result.IsItalic = IsBitSet(bitField, 2); result.IsBold = IsBitSet(bitField, 3); result.IsFixedHeight = IsBitSet(bitField, 4); result.CharSet = reader.ReadByte(); result.StretchHeight = reader.ReadUInt16(); result.AntiAliasing = reader.ReadByte(); result.Padding = new CharacterPadding { Top = reader.ReadByte(), Right = reader.ReadByte(), Bottom = reader.ReadByte(), Left = reader.ReadByte(), }; result.Spacing = new CharacterSpacing { Horizontal = reader.ReadByte(), Vertical = reader.ReadByte(), }; result.Outline = reader.ReadByte(); result.FontName = reader.ReadString(); return(result); }
private static void WriteInfoBlock(InfoSection info, TextDataWriter writer) { writer.WriteLine("# font settings"); writer.WriteLine($"fontName={info.FontName}"); writer.WriteLine("fontFile="); writer.WriteLine($"charSet={info.CharSet}"); writer.WriteLine($"fontSize={info.Size}"); writer.WriteLine($"aa={info.AntiAliasing}"); writer.WriteLine($"scaleH={info.StretchHeight}"); writer.WriteLine($"useSmoothing={(info.SmoothEnabled ? 1 : 0)}"); writer.WriteLine($"isBold={(info.IsBold ? 1 : 0)}"); writer.WriteLine($"isItalic={(info.IsItalic ? 1 : 0)}"); writer.WriteLine($"useUnicode={(info.IsUnicode ? 1 : 0)}"); writer.WriteLine("disableBoxChars=1"); writer.WriteLine("outputInvalidCharGlyph=0"); writer.WriteLine("dontIncludeKerningPairs=0"); writer.WriteLine("useHinting=1"); writer.WriteLine("renderFromOutline=0"); writer.WriteLine("useClearType=1"); writer.WriteLine("autoFitNumPages=0"); writer.WriteLine("autoFitFontSizeMin=0"); writer.WriteLine("autoFitFontSizeMax=0"); writer.WriteLine(); writer.WriteLine("# character alignment"); writer.WriteLine($"paddingDown={info.Padding.Bottom}"); writer.WriteLine($"paddingUp={info.Padding.Top}"); writer.WriteLine($"paddingRight={info.Padding.Right}"); writer.WriteLine($"paddingLeft={info.Padding.Left}"); writer.WriteLine($"spacingHoriz={info.Spacing.Horizontal}"); writer.WriteLine($"spacingVert={info.Spacing.Vertical}"); writer.WriteLine($"useFixedHeight={(info.IsFixedHeight ? 1 : 0)}"); writer.WriteLine("forceZero=0"); writer.WriteLine("widthPaddingFactor=0.00"); writer.WriteLine(); writer.WriteLine("# outline"); writer.WriteLine($"outlineThickness={info.Outline}"); writer.WriteLine(); }
private async Task AddSahdows() { InfoSection.AddShadow(); BuySection.AddShadow(); DescriptionSection.AddShadow(); }