Font IFontLibrarian.Update(FontStyle fst, FontSize fsz) { var f = _lib.lookup(_id, fst); byte rsz = (byte)_fsz; var msk = (byte)fsz & 0b0000_1111; if (fsz.HasFlag(FontSize.Standard)) { rsz = _lib.lookupSz(fsz); } else if (fsz.HasFlag(FontSize.RelPlus)) { rsz = (byte)(((byte)_fsz) + msk); } else if (fsz.HasFlag(FontSize.RelMinus)) { rsz = (byte)(((byte)_fsz) - msk); } _fsz = (FontSize)rsz; _fst = fst; return(_current = f.ToFont((byte)rsz)); }
public FontLibrarian(FontLibrary lib, string id, FontStyle fst, FontSize fsz) { _id = id; _fst = fst; _fsz = fsz; _lib = lib; // Actual font entry var f = lib.lookup(id, fst); // Real size var rsz = (byte)lib.lookupSz(fsz); _current = f.ToFont(rsz); }