/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * 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: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
class FontMetricData; typedef tools::SvRef<FontMetricData> FontMetricDataRef;
class OutputDevice; namespace vcl::font
{ class FontSelectPattern;
} class LogicalFontInstance;
class VCL_DLLPUBLIC FontMetricData final : public FontAttributes, public SvRefBase
{ public:
SAL_DLLPRIVATE explicit FontMetricData( const vcl::font::FontSelectPattern& );
// font instance attributes from the font request
tools::Long GetWidth() const { return mnWidth; }
Degree10 GetOrientation() const { return mnOrientation; }
// font instance attributes from the font request
tools::Long mnHeight; // Font size
tools::Long mnWidth; // Reference Width
Degree10 mnOrientation; // Rotation in 1/10 degrees
// font metrics measured for the font instance
tools::Long mnAscent; // Ascent
tools::Long mnDescent; // Descent
tools::Long mnIntLeading; // Internal Leading
tools::Long mnExtLeading; // External Leading int mnSlant; // Slant (Italic/Oblique) double mnMinKashida; // Minimal width of kashida (Arabic)
tools::Long mnHangingBaseline; // Offset of hanging baseline to Romn baseline double mdEmSize; // Size of an 'em' double mdHorCJKAdvanceSize; // Size of an 'ic' in horizontal text double mdVertCJKAdvanceSize; // Size of an 'ic' in vertical text
// font attributes queried from the font instance bool mbFullstopCentered;
tools::Long mnBulletOffset; // Offset to position non-print character
// font metrics that are usually derived from the measurements
tools::Long mnUnderlineSize; // Lineheight of Underline
tools::Long mnUnderlineOffset; // Offset from Underline to Baseline
tools::Long mnBUnderlineSize; // Height of bold underline
tools::Long mnBUnderlineOffset; // Offset from bold underline to baseline
tools::Long mnDUnderlineSize; // Height of double underline
tools::Long mnDUnderlineOffset1; // Offset from double underline to baseline
tools::Long mnDUnderlineOffset2; // Offset from double underline to baseline
tools::Long mnWUnderlineSize; // Height of WaveLine underline
tools::Long mnWUnderlineOffset; // Offset from WaveLine underline to baseline, but centrered to WaveLine
tools::Long mnAboveUnderlineSize; // Height of single underline (for Vertical Right)
tools::Long mnAboveUnderlineOffset; // Offset from single underline to baseline (for Vertical Right)
tools::Long mnAboveBUnderlineSize; // Height of bold underline (for Vertical Right)
tools::Long mnAboveBUnderlineOffset; // Offset from bold underline to baseline (for Vertical Right)
tools::Long mnAboveDUnderlineSize; // Height of double underline (for Vertical Right)
tools::Long mnAboveDUnderlineOffset1; // Offset from double underline to baseline (for Vertical Right)
tools::Long mnAboveDUnderlineOffset2; // Offset from double underline to baseline (for Vertical Right)
tools::Long mnAboveWUnderlineSize; // Height of WaveLine-strike-out (for Vertical Right)
tools::Long mnAboveWUnderlineOffset; // Offset from WaveLine-strike-out to baseline, but centrered to the WaveLine (for Vertical Right)
tools::Long mnStrikeoutSize; // Height of single strike-out
tools::Long mnStrikeoutOffset; // Offset from single strike-out to baseline
tools::Long mnBStrikeoutSize; // Height of bold strike-out
tools::Long mnBStrikeoutOffset; // Offset of bold strike-out to baseline
tools::Long mnDStrikeoutSize; // Height of double strike-out
tools::Long mnDStrikeoutOffset1; // Offset of double strike-out to baseline
tools::Long mnDStrikeoutOffset2; // Offset of double strike-out to baseline
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.