X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=13e34708979c85b30a9b47b3414cd65288c12e4e;hb=27652900a60fd078f161ce866ddaed21dba21eff;hp=c330c311acb5f1e4490c1f6674b285578659e07d;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index c330c311ac..13e3470897 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -4,7 +4,7 @@ * * LyX, The Document Processor * - * Copyright (C) 1997 Asger Alstrup + * Copyright 1997 Asger Alstrup * and the LyX Team. * * ====================================================== */ @@ -18,23 +18,24 @@ #include "LString.h" +#include + /** This class manages a font. -The idea is to create a FontInfo object with a font name pattern with a -wildcard at the size field. Then this object can host request for font- -instances of any given size. If no exact match is found, the closest size -is chosen instead. If the font is scalable, the flag lyxrc->use_scalable_fonts -determines whether to allow scalable fonts to give an exact match. */ + The idea is to create a FontInfo object with a font name pattern with a + wildcard at the size field. Then this object can host request for font- + instances of any given size. If no exact match is found, the closest size + is chosen instead. If the font is scalable, the flag + lyxrc.use_scalable_fonts determines whether to allow scalable fonts to + give an exact match. +*/ class FontInfo { public: /// FontInfo() { init(); } /// - FontInfo(string const & pat) - : pattern(pat) { init(); } - - /// Destructor - ~FontInfo() { release(); } + explicit FontInfo(string const & pat) + : pattern(pat) { init(); } /// Does any font match our pattern? bool exist() { @@ -49,23 +50,23 @@ public: } /// Get existing pattern - string getPattern() const { return pattern; } + string const & getPattern() const { return pattern; } /// Set new pattern void setPattern(string const & pat); /** Return full name of font close to this size. If impossible, result is the empty string */ - string getFontname(int size); + string const getFontname(int size); private: /// Font pattern (with wildcard for size) string pattern; /// Available size list - int * sizes; + boost::scoped_array sizes; /// Corresponding name list - string * strings; + boost::scoped_array strings; /// Number of matches int matches; @@ -80,23 +81,12 @@ private: int scaleindex; /// Initialize empty record - void init() - { - sizes = 0; - strings = 0; - matches = 0; - queried = false; - scalable = false; - scaleindex = -1; - } - - /// Release allocated stuff - void release(); + void init(); /// Ask X11 about this font pattern void query(); /// Build newly sized font string - string resize(string const &, int size) const; + string const resize(string const &, int size) const; }; #endif