*
* LyX, The Document Processor
*
- * Copyright (C) 1997 Asger Alstrup
+ * Copyright 1997 Asger Alstrup
* and the LyX Team.
*
* ====================================================== */
#include "LString.h"
/** 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(); }
+ explicit FontInfo(string const & pat)
+ : pattern(pat) { init(); }
/// Destructor
~FontInfo() { release(); }
}
/// 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;
int scaleindex;
/// Initialize empty record
- void init()
- {
- sizes = 0;
- strings = 0;
- matches = 0;
- queried = false;
- scalable = false;
- scaleindex = -1;
- }
+ void init();
/// Release allocated stuff
void release();
void query();
/// Build newly sized font string
- string resize(string const &, int size) const;
+ string const resize(string const &, int size) const;
};
#endif