X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FFontInfo.h;h=7f4af1d4c7e574953a344c1fc63cf212bacf68c1;hb=98c966c64594611e469313314abd1e59524adb4a;hp=ba856eb19cecf175d0621e98fdfd9b0bc4ed4e37;hpb=0eccdd1c3613e5170deb77b22174dd0afde833e9;p=lyx.git diff --git a/src/FontInfo.h b/src/FontInfo.h index ba856eb19c..7f4af1d4c7 100644 --- a/src/FontInfo.h +++ b/src/FontInfo.h @@ -1,16 +1,16 @@ // -*- C++ -*- /* This file is part of * ====================================================== - * + * * LyX, The Document Processor - * - * Copyright (C) 1997 Asger Alstrup + * + * Copyright 1997 Asger Alstrup * and the LyX Team. * - *======================================================*/ + * ====================================================== */ -#ifndef _FONTINFO_H_ -#define _FONTINFO_H_ +#ifndef FONTINFO_H +#define FONTINFO_H #ifdef __GNUG__ #pragma interface @@ -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; + /// Build newly sized font string + string const resize(string const &, int size) const; }; #endif