Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Firefox/gfx/skia/skia/src/sfnt/   (Browser von der Mozilla Stiftung Version 136.0.1©)  Datei vom 10.2.2025 mit Größe 15 kB image not shown  

Quelle  SkPanose.h   Sprache: C

 
/*
 * Copyright 2012 Google Inc.
 *
 * Use of this source code is governed by a BSD-style license that can be
 * found in the LICENSE file.
 */


#ifndef SkPanose_DEFINED
#define SkPanose_DEFINED

#include "src/sfnt/SkOTTableTypes.h"

#pragma pack(push, 1)

struct SkPanose {
    //This value changes the meaning of the following 9 bytes.
    enum class FamilyType : SK_OT_BYTE {
        Any = 0,
        NoFit = 1,
        TextAndDisplay = 2,
        Script = 3,
        Decorative = 4,
        Pictoral = 5,
    } bFamilyType;

    union Data {
        struct TextAndDisplay {
            enum class SerifStyle : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Cove = 2,
                ObtuseCove = 3,
                SquareCove = 4,
                ObtuseSquareCove = 5,
                Square = 6,
                Thin = 7,
                Bone = 8,
                Exaggerated = 9,
                Triangle = 10,
                NormalSans = 11,
                ObtuseSans = 12,
                PerpSans = 13,
                Flared = 14,
                Rounded = 15,
            } bSerifStyle;

            enum class Weight : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                VeryLight = 2,
                Light = 3,
                Thin = 4,
                Book = 5,
                Medium = 6,
                Demi = 7,
                Bold = 8,
                Heavy = 9,
                Black = 10,
                ExtraBlack = 11,
            } bWeight;

            enum class Proportion : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                OldStyle = 2,
                Modern = 3,
                EvenWidth = 4,
                Expanded = 5,
                Condensed = 6,
                VeryExpanded = 7,
                VeryCondensed = 8,
                Monospaced = 9,
            } bProportion;

            enum class Contrast : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                None = 2,
                VeryLow = 3,
                Low = 4,
                MediumLow = 5,
                Medium = 6,
                MediumHigh = 7,
                High = 8,
                VeryHigh = 9,
            } bContrast;

#ifdef SK_WIN_PANOSE
            //This is what Windows (and FontForge and Apple TT spec) define.
            //The Impact font uses 9.
            enum class StrokeVariation : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                GradualDiagonal = 2,
                GradualTransitional = 3,
                GradualVertical = 4,
                GradualHorizontal = 5,
                RapidVertical = 6,
                RapidHorizontal = 7,
                InstantVertical = 8,
            } bStrokeVariation;
#else
            //Stroke variation description in OT OS/2 ver0,ver1 is incorrect.
            //This is what HP Panose says.
            enum class StrokeVariation : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                NoVariation = 2,
                Gradual_Diagonal = 3,
                Gradual_Transitional = 4,
                Gradual_Vertical = 5,
                Gradual_Horizontal = 6,
                Rapid_Vertical = 7,
                Rapid_Horizontal = 8,
                Instant_Vertical = 9,
                Instant_Horizontal = 10,
            } bStrokeVariation;
#endif

            enum class ArmStyle : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                StraightArms_Horizontal = 2,
                StraightArms_Wedge = 3,
                StraightArms_Vertical = 4,
                StraightArms_SingleSerif = 5,
                StraightArms_DoubleSerif = 6,
                NonStraightArms_Horizontal = 7,
                NonStraightArms_Wedge = 8,
                NonStraightArms_Vertical = 9,
                NonStraightArms_SingleSerif = 10,
                NonStraightArms_DoubleSerif = 11,
            } bArmStyle;

            enum class Letterform : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Normal_Contact = 2,
                Normal_Weighted = 3,
                Normal_Boxed = 4,
                Normal_Flattened = 5,
                Normal_Rounded = 6,
                Normal_OffCenter = 7,
                Normal_Square = 8,
                Oblique_Contact = 9,
                Oblique_Weighted = 10,
                Oblique_Boxed = 11,
                Oblique_Flattened = 12,
                Oblique_Rounded = 13,
                Oblique_OffCenter = 14,
                Oblique_Square = 15,
            } bLetterform;

            enum class Midline : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Standard_Trimmed = 2,
                Standard_Pointed = 3,
                Standard_Serifed = 4,
                High_Trimmed = 5,
                High_Pointed = 6,
                High_Serifed = 7,
                Constant_Trimmed = 8,
                Constant_Pointed = 9,
                Constant_Serifed = 10,
                Low_Trimmed = 11,
                Low_Pointed = 12,
                Low_Serifed = 13,
            } bMidline;

            enum class XHeight : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Constant_Small = 2,
                Constant_Standard = 3,
                Constant_Large = 4,
                Ducking_Small = 5,
                Ducking_Standard = 6,
                Ducking_Large = 7,
            } bXHeight;
        } textAndDisplay;

        struct Script {
            enum class ToolKind : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                FlatNib = 2,
                PressurePoint = 3,
                Engraved = 4,
                Ball = 5,
                Brush = 6,
                Rough = 7,
                FeltPen = 8,
                WildBrush = 9,
            } bToolKind;

            enum class Weight : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                VeryLight = 2,
                Light = 3,
                Thin = 4,
                Book = 5,
                Medium = 6,
                Demi = 7,
                Bold = 8,
                Heavy = 9,
                Black = 10,
                ExtraBlack = 11,
            } bWeight;

            enum class Spacing : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                ProportionalSpaced = 2,
                Monospaced = 3,
            } bSpacing;

            enum class AspectRatio : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                VeryCondensed = 2,
                Condensed = 3,
                Normal = 4,
                Expanded = 5,
                VeryExpanded = 6,
            } bAspectRatio;

            enum class Contrast : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                None = 2,
                VeryLow = 3,
                Low = 4,
                MediumLow = 5,
                Medium = 6,
                MediumHigh = 7,
                High = 8,
                VeryHigh = 9,
            } bContrast;

            enum class Topology : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Roman_Disconnected = 2,
                Roman_Trailing = 3,
                Roman_Connected = 4,
                Cursive_Disconnected = 5,
                Cursive_Trailing = 6,
                Cursive_Connected = 7,
                Blackletter_Disconnected = 8,
                Blackletter_Trailing = 9,
                Blackletter_Connected = 10,
            } bTopology;

            enum class Form : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Upright_NoWrapping = 2,
                Upright_SomeWrapping = 3,
                Upright_MoreWrapping = 4,
                Upright_ExtremeWrapping = 5,
                Oblique_NoWrapping = 6,
                Oblique_SomeWrapping = 7,
                Oblique_MoreWrapping = 8,
                Oblique_ExtremeWrapping = 9,
                Exaggerated_NoWrapping = 10,
                Exaggerated_SomeWrapping = 11,
                Exaggerated_MoreWrapping = 12,
                Exaggerated_ExtremeWrapping = 13,
            } bForm;

            enum class Finials : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                None_NoLoops = 2,
                None_ClosedLoops = 3,
                None_OpenLoops = 4,
                Sharp_NoLoops = 5,
                Sharp_ClosedLoops = 6,
                Sharp_OpenLoops = 7,
                Tapered_NoLoops = 8,
                Tapered_ClosedLoops = 9,
                Tapered_OpenLoops = 10,
                Round_NoLoops = 11,
                Round_ClosedLoops = 12,
                Round_OpenLoops = 13,
            } bFinials;

            enum class XAscent : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                VeryLow = 2,
                Low = 3,
                Medium = 4,
                High = 5,
                VeryHigh = 6,
            } bXAscent;
        } script;

        struct Decorative {
            enum class Class : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Derivative = 2,
                NonStandard_Topology = 3,
                NonStandard_Elements = 4,
                NonStandard_Aspect = 5,
                Initials = 6,
                Cartoon = 7,
                PictureStems = 8,
                Ornamented = 9,
                TextAndBackground = 10,
                Collage = 11,
                Montage = 12,
            } bClass;

            enum class Weight : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                VeryLight = 2,
                Light = 3,
                Thin = 4,
                Book = 5,
                Medium = 6,
                Demi = 7,
                Bold = 8,
                Heavy = 9,
                Black = 10,
                ExtraBlack = 11,
            } bWeight;

            enum class Aspect : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                SuperCondensed = 2,
                VeryCondensed = 3,
                Condensed = 4,
                Normal = 5,
                Extended = 6,
                VeryExtended = 7,
                SuperExtended = 8,
                Monospaced = 9,
            } bAspect;

            enum class Contrast : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                None = 2,
                VeryLow = 3,
                Low = 4,
                MediumLow = 5,
                Medium = 6,
                MediumHigh = 7,
                High = 8,
                VeryHigh = 9,
                HorizontalLow = 10,
                HorizontalMedium = 11,
                HorizontalHigh = 12,
                Broken = 13,
            } bContrast;

            enum class SerifVariant : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Cove = 2,
                ObtuseCove = 3,
                SquareCove = 4,
                ObtuseSquareCove = 5,
                Square = 6,
                Thin = 7,
                Oval = 8,
                Exaggerated = 9,
                Triangle = 10,
                NormalSans = 11,
                ObtuseSans = 12,
                PerpendicularSans = 13,
                Flared = 14,
                Rounded = 15,
                Script = 16,
            } bSerifVariant;

            enum class Treatment : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                None_StandardSolidFill = 2,
                White_NoFill = 3,
                PatternedFill = 4,
                ComplexFill = 5,
                ShapedFill = 6,
                DrawnDistressed = 7,
            } bTreatment;

            enum class Lining : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                None = 2,
                Inline = 3,
                Outline = 4,
                Engraved = 5,
                Shadow = 6,
                Relief = 7,
                Backdrop = 8,
            } bLining;

            enum class Topology : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Standard = 2,
                Square = 3,
                MultipleSegment = 4,
                DecoWacoMidlines = 5,
                UnevenWeighting = 6,
                DiverseArms = 7,
                DiverseForms = 8,
                LombardicForms = 9,
                UpperCaseInLowerCase = 10,
                ImpliedTopology = 11,
                HorseshoeEandA = 12,
                Cursive = 13,
                Blackletter = 14,
                SwashVariance = 15,
            } bTopology;

            enum class RangeOfCharacters : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                ExtendedCollection = 2,
                Litterals = 3,
                NoLowerCase = 4,
                SmallCaps = 5,
            } bRangeOfCharacters;
        } decorative;

        struct Pictoral {
            enum class Kind : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                Montages = 2,
                Pictures = 3,
                Shapes = 4,
                Scientific = 5,
                Music = 6,
                Expert = 7,
                Patterns = 8,
                Boarders = 9,
                Icons = 10,
                Logos = 11,
                IndustrySpecific = 12,
            } bKind;

            enum class Weight : SK_OT_BYTE {
                NoFit = 1,
            } bWeight;

            enum class Spacing : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                ProportionalSpaced = 2,
                Monospaced = 3,
            } bSpacing;

            enum class AspectRatioAndContrast : SK_OT_BYTE {
                NoFit = 1,
            } bAspectRatioAndContrast;

            enum class AspectRatio94 : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                NoWidth = 2,
                ExceptionallyWide = 3,
                SuperWide = 4,
                VeryWide = 5,
                Wide = 6,
                Normal = 7,
                Narrow = 8,
                VeryNarrow = 9,
            } bAspectRatio94;

            enum class AspectRatio119 : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                NoWidth = 2,
                ExceptionallyWide = 3,
                SuperWide = 4,
                VeryWide = 5,
                Wide = 6,
                Normal = 7,
                Narrow = 8,
                VeryNarrow = 9,
            } bAspectRatio119;

             enum class AspectRatio157 : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                NoWidth = 2,
                ExceptionallyWide = 3,
                SuperWide = 4,
                VeryWide = 5,
                Wide = 6,
                Normal = 7,
                Narrow = 8,
                VeryNarrow = 9,
            } bAspectRatio157;

            enum class AspectRatio163 : SK_OT_BYTE {
                Any = 0,
                NoFit = 1,
                NoWidth = 2,
                ExceptionallyWide = 3,
                SuperWide = 4,
                VeryWide = 5,
                Wide = 6,
                Normal = 7,
                Narrow = 8,
                VeryNarrow = 9,
            } bAspectRatio163;
        } pictoral;
    } data;
};

#pragma pack(pop)


static_assert(sizeof(SkPanose) == 10, "sizeof_SkPanose_not_10");

#endif

Messung V0.5
C=99 H=96 G=97

¤ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

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.