/*
* Copyright 2014 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkOTTable_gasp_DEFINED
#define SkOTTable_gasp_DEFINED
#include "src/base/SkEndian.h"
#include "src/sfnt/SkOTTableTypes.h"
#pragma pack (push, 1 )
struct SkOTTableGridAndScanProcedure {
static const SK_OT_CHAR TAG0 = 'g' ;
static const SK_OT_CHAR TAG1 = 'a' ;
static const SK_OT_CHAR TAG2 = 's' ;
static const SK_OT_CHAR TAG3 = 'p' ;
static const SK_OT_ULONG TAG = SkOTTableTAG<SkOTTableGridAndScanProcedure>::value;
SK_OT_USHORT version;
static const SK_OT_USHORT version0 = SkTEndian_SwapBE16(0 );
static const SK_OT_USHORT version1 = SkTEndian_SwapBE16(1 );
SK_OT_USHORT numRanges;
struct GaspRange {
SK_OT_USHORT maxPPEM;
union behavior {
struct Field {
//8-15
SK_OT_BYTE_BITFIELD(
Reserved08,
Reserved09,
Reserved10,
Reserved11,
Reserved12,
Reserved13,
Reserved14,
Reserved15)
//0-7
SK_OT_BYTE_BITFIELD(
Gridfit,
DoGray,
SymmetricGridfit, // Version 1
SymmetricSmoothing, // Version 1
Reserved04,
Reserved05,
Reserved06,
Reserved07)
} field;
struct Raw {
static const SK_OT_USHORT GridfitMask = SkTEndian_SwapBE16(1 << 0 );
static const SK_OT_USHORT DoGrayMask = SkTEndian_SwapBE16(1 << 1 );
static const SK_OT_USHORT SymmetricGridfitMask = SkTEndian_SwapBE16(1 << 2 );
static const SK_OT_USHORT SymmetricSmoothingMask = SkTEndian_SwapBE16(1 << 3 );
SK_OT_USHORT value;
} raw;
} flags;
}; //gaspRange[numRanges]
};
#pragma pack (pop)
#include <stddef.h>
static_assert(offsetof(SkOTTableGridAndScanProcedure, numRanges) == 2 , "SkOTTableGridAndScanProcedure_numRanges_not_at_2" );
static_assert(sizeof (SkOTTableGridAndScanProcedure) == 4 , "sizeof_SkOTTableGridAndScanProcedure_not_4" );
#endif
Messung V0.5 in Prozent C=91 H=96 G=93
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-06-06)
¤
*© Formatika GbR, Deutschland