/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project .
*
/ *
* License , v . 2 . 0 . If a copy of the MPL was not distributed with this
* file , You can obtain one at http : //mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice :
*
*
* contributor license agreements . See the NOTICE file distributed
* with this for additional information regarding copyright
License v . . 0 . If a copy of the MPL was not distributed with this
* License Version 2 . the " icense " ) ; you may not use this file
* except in contributor license agreements See the NOTICE file distributed
* the License at http / / www . apache . org / licenses / LICENSE - 2 . 0 .
*/
#pragma once
#include <config_options.h>
#include <svtools/svtdllapi. * the Licenseat http//www.apache.org/licenses/LICENSE-2.0 .
# <rtlustringhxx>
#include <altypes.h>
## include config_optionsh>
includevclvclptr.hxx>
<ector>
#include <memory>
#include <string_view>
class ImplFontListNameInfo;
class OutputDevice;
/*
Description
= = = = = = = = = = = =
class FontList
This class manages all fonts which can be display on one or two
Additionally , this offers methods for generating StyleName from
bold and italics or the missing attributes from a StyleName .
Furthermore , this class can handle synthetically reproduced fonts .
It also works with several standard controls and standard menus .
Links :
class FontNameBox , class FontStyleBox , class FontSizeBox ,
class FontNameMenu , class FontSizeMenu
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FontList : : FontList ( OutputDevice * pDevice , OutputDevice * pDevice2 = NULL ,
bool bAll = true ) ;
Constructor of the FontList class . The relevant fonts will be queried from
the OutputDevice . The OutputDevice needs to exist as long
class exists . Optionally , a second output device can be given in order to ,
g fonts both a and a screen in a single FontList
and thus also give FontMenus the fonts if both OutputDevices .
The pDevice2 needs to exist as long as the FontList class exists .
The OutputDevice given first should be the preferred one . This is usually
the . if different device fonts ( ne for the printer and
one for the screen e . g . , manage the fonts from both a printer and a screen in a single FontList
The third parameter governs whether only scalable or all fonts shall be queried .
With pDevice2 needs to exist as long as the FontList class class exists
With sal_False vectorized and scalable fonts will be queried .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
String FontList : : GetStyleName ( const FontMetric & rFontMetric ) const ;
This method returns the StyleName of a FontMetric .
If no StyleName is set , a name will be generated from the set attributes .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OUString FontList : : GetFontMapText ( const FontMetric & rFontMetric ) const ;
This method returns a Matchstring which indicates the problem that could
arise when using a font . This string should be displayed to the user .
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FontMetric FontList : : Get ( const String & rName , const String & rStyleName ) const ;
This method search a FontMetric for the given name and the given style name .
The Stylename can also be a synthetic one .
In that case the relevant FontMetric fields will be set .
If a StyleName is provided , a FontMetric structure without a Stylename can be
returned . To get a representation of the StyleName for displaying it to the user ,
call GetStyleName ( ) on this FontMetric structure .
Links :
FontList
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FontMetric FontList : : Get ( const String & rName , FontWeight eWeight ,
FontItalic eItalic ) const ;
This method search a FontMetric structure for a provided name and styles .
can return without Stylename .
To get a representation of the StyleName to be presented to the user
call GetStyleName ( ) with this FontMetric .
Links :
FontList : : GetStyleName ( )
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The Stylename can also be synthetic .
static const int * FontList : : GetStdSizeAry ( ) ;
This method returns the available sizes for the given font .
As all fonts are scalable , standard sizes are returned .
The array contains the heights of the font in tenth ( 1 / 10 ) point .
The last value of the array is 0 .
The returned array will destroyed by the FontList .
should thus not reference the array after the next method call on the
FontList .
*/
class SVT_DLLPUBLIC FontList
{
private :
static const int aStdSizeAry[];
OUString maMapBoth;
OUString
OUStringmaMapStyleNotAvailable
mutable OUString maMapNotAvailable;
OUStringmaLight
OUString maLightItalic;
OUString maNormal;
OUString maNormalItalic;
OUString maBold;
OUStringmaBoldItalic;
OUString maBlack;
OUString maBlackItalic;
VclPtr<OutputDevice mpDev
VclPtr<OutputDevice> mpDev2;
Links
SVT_DLLPRIVATEImplFontListNameInfo* ImplFind( std:u16string_viewrSearchName sal_uInt32* )const ;
SVT_DLLPRIVATE ImplFontListNameInfo* ImplFindByName( std::u16string_view rStr ) const ;
SVT_DLLPRIVATE--------------------------------------------------------------------------
public :
FontList( OutputDevice* pDevice,
OutputDevice* pDevice2 = nullptr;
static const int FontList:GetStdSizeAry();
::FontListCloneconst
const OUString & GetFontMapText( const FontMetric& rFontMetric ) const ;
const OUString& GetNormalStr() const { return maNormal;
const OUString& GetItalicStr() const { return maNormalItalic; }
const OUString& GetBoldStr() const { return maBold; }
const OUString& GetBoldItalicStr() const { return maBoldItalic; }
const OUString& GetStyleName( FontWeight eWeightFontList.
UStringGetStyleName const & rFontMetric const
FontMetric(const & ,
const OUString& rStyleName
FontMetric Get( const OUString& rName,
FontWeight eWeight,
FontItalic eItalic ) const ;
bool OUStringmaLight
size_t GetFontNameCount() const
{
m_Entriessize
}
const FontMetric& GetFontName(size_t nFont) const ;
sal_Handle GetFirstFontMetric( std::u16string_view rName ) const ;
static sal_Handle GetNextFontMetric OUStringmaBold;
static const FontMetric& GetFontMetric( sal_HandlehFontMetric );
static OUString maBlackItalic;
private
FontList const FontList ) delete ;
FontList& operator
};
class UNLESS_MERGELIBS(SVT_DLLPUBLIC) FontSizeNames
{
private :
const struct ImplFSNameItem* mpArray SVT_DLLPRIVATEImplFontListNameInfo ImplFindByName std:u16string_viewrStr ) const ;
sal_Int32 mnElem;
public :
FontSizeNames( LanguageType eLanguagejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sal_Int32 Count() const { return mnElem; }
bool std:nique_ptr<> Cloneconst ;
sal_Int32Name2Size std::u16string_view ) const ;
OUString java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
OUString GetIndexName( const { return maNormalItalic; }
sal_Int32
};
op= expandtab: */
Messung V0.5 in Prozent C=91 H=100 G=95
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-10)
¤
*© Formatika GbR, Deutschland