Mako 8.2.0 API
MakoCore SDK API Documentation
Loading...
Searching...
No Matches
idomfontpcl.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2007-2022 Global Graphics Software Ltd. All rights reserved.
3 *
4 * Interfaces for generating PCL fonts from OpenType.
5 */
6
11
12#ifndef IDOMFONTPCL_H
13#define IDOMFONTPCL_H
14
15#include <edl/idomfont.h>
16
18
19
26{
27#define IFontHeaderWriteSegmentBlockEnumeratorClassID 0x506603ee, 0x8de311dc, 0x83140800, 0x200c9a66
28 public:
29
35 typedef enum {
36
37 eItemGTSegment, // The Global TrueType Segment
38 eItemGCSegment, // The Galley Character Segment
39 eItemNullSegment, // The Null Segment
41
43
48 static const CClassID &classID()
49 {
51 return id;
52 };
53
59
65
71
78 virtual int32 writeSegmentBlock(const IOutputStreamPtr &outStream, eEDLEndian endian) = 0;
79
84 virtual bool haveMoreEnumerationItems() = 0;
85
90 virtual bool nextEnumerationItem() = 0;
91
92};
93
95#define edlobj2IFontHeaderWriteSegmentBlockEnumerator(src) edl_cast((IFontHeaderWriteSegmentBlockEnumerator *)NULL, src)
96
97
98
104
106{
107
108#define IFontPCL5WriteSegmentBlockEnumeratorClassID 0x41108aa0, 0x4e5611dd, 0xae160800, 0x200c9a66
109
110 public:
111
116 static const CClassID &classID()
117 {
119 return id;
120 };
121
127
133
140 virtual int32 writeEnumerationItemBlock(const IOutputStreamPtr &outStream, eEDLEndian endian) = 0;
141
146 virtual bool haveMoreEnumerationItems() = 0;
147
152 virtual bool nextEnumerationItem() = 0;
153
154};
155
157#define edlobj2IFontPCL5WriteSegmentBlockEnumerator(src) edl_cast((IFontPCL5WriteSegmentBlockEnumerator *)NULL, src)
158
159
160
162{
163#define IFontPCLXLTrueTypeGlyphAccessorClassID 0xdd04e870, 0xdae311dc, 0x95ff0800, 0x200c9a66
164 public:
165
170 static const CClassID &classID()
171 {
173 return id;
174 };
175
181 virtual bool hasGlyph(IDOMGlyph::GlyphID glyphID) = 0;
182
189 virtual int32 getGlyphDataSize(IDOMGlyph::GlyphID glyphID, uint8 characterClass) = 0;
190
199 virtual int32 glyphDataWrite(const IOutputStreamPtr &outStream, IDOMGlyph::GlyphID glyphID, eEDLEndian endian, uint8 characterClass) = 0;
200
207 virtual bool getDependantGlyphIDEnumerator(IDOMGlyph::GlyphID glyphID, IDOMGlyphIDEnumeratorPtr &ienumerator) = 0;
208
215
222
223};
224
226#define edlobj2IFontPCLXLTrueTypeGlyphAccessor(src) edl_cast((IFontPCLXLTrueTypeGlyphAccessor *)NULL, src)
227
234{
235#define IDOMFontPCLXLClassID 0x2c1b3204, 0x821811dc, 0x83140800, 0x200c9a66
236 public:
237
249
256
262 {
263 // Data inherited from IDOMFontOpenTypeTT::Data
264 };
265
270 static const CClassID &classID()
271 {
273 return id;
274 };
275
281
288 virtual bool getFontName(EDLSysString &fontName) = 0;
289
295 virtual bool getFontHeaderSegmentBlockEnumerator(IFontHeaderWriteSegmentBlockEnumeratorPtr &enumerator) = 0;
296
302 virtual bool getFontTrueTypeGlyphAccessor(IFontPCLXLTrueTypeGlyphAccessorPtr &accessor) = 0;
303
304};
306#define edlobj2IDOMFontPCLXL(src) edl_cast((IDOMFontPCLXL *)NULL, src)
307
308
310{
311
312#define IFontPCL5TrueTypeGlyphAccessorClassID 0xb5da9de0, 0x3d3411dd, 0xae160800, 0x200c9a66
313
314 public:
315
320 static const CClassID &classID()
321 {
323 return id;
324 };
325
331 virtual bool hasGlyph(IDOMGlyph::GlyphID glyphID) = 0;
332
339
347 virtual int32 glyphDataWrite(const IOutputStreamPtr &outStream, IDOMGlyph::GlyphID glyphID, eEDLEndian endian) = 0;
348
355 virtual bool getDependantGlyphIDEnumerator(IDOMGlyph::GlyphID glyphID, IDOMGlyphIDEnumeratorPtr &ienumerator) = 0;
356
363
370
371};
372
374#define edlobj2IFontPCL5TrueTypeGlyphAccessor(src) edl_cast((IFontPCL5TrueTypeGlyphAccessor *)NULL, src)
375
376
377
384{
385
386#define IDOMFontPCL5ClassID 0x2964f9a0, 0x3d3411dd, 0xae160800, 0x200c9a66
387
388 public:
389
401
408
414 {
415 // Data inherited from IDOMFontOpenTypeTT::Data
416 };
417
422 static const CClassID &classID()
423 {
424 static CClassID id(IDOMFontPCL5ClassID);
425 return id;
426 };
427
433
439 virtual bool getFontName(EDLSysString &fontName) = 0;
440
441
448
449
455
456
462 virtual bool getSymbolSetID(EDLSysString &symbolSetID) const = 0;
463
464
470 virtual bool getFormat15FontBlockEnumerator(IFontPCL5WriteSegmentBlockEnumeratorPtr &enumerator) = 0;
471
472
478 virtual bool getFormat16FontBlockEnumerator(IFontPCL5WriteSegmentBlockEnumeratorPtr &enumerator) = 0;
479
485 virtual bool getFontTrueTypeGlyphAccessor(IFontPCL5TrueTypeGlyphAccessorPtr &accessor) = 0;
486
487};
489#define edlobj2IDOMFontPCL5(src) edl_cast((IDOMFontPCL5 *)NULL, src)
490
492
493
494#endif /* IDOMFONTPCL_H */
495
An object to represent a 128-bit globally unique ID.
Definition objclassid.h:29
Initialization data.
Definition idomfont.h:1214
Definition idomfont.h:1192
IDOMFontPCL5 (PCL5 Truetype) derived from an OpenType font source.
Definition idomfontpcl.h:384
virtual bool setSymbolSetIDCode(IDOMFontPCL5::SymbolSetIDCode symbolSet)=0
Set the font symbol set to be used in the generated font.
static const CClassID & classID()
Retrieves class id of IDOMFontPCL5.
Definition idomfontpcl.h:422
virtual bool getFormat16FontBlockEnumerator(IFontPCL5WriteSegmentBlockEnumeratorPtr &enumerator)=0
Creates a Format 16 font block enumerator.
virtual bool getFormat15FontBlockEnumerator(IFontPCL5WriteSegmentBlockEnumeratorPtr &enumerator)=0
Creates a Format 15 font block enumerator.
virtual bool getFontTrueTypeGlyphAccessor(IFontPCL5TrueTypeGlyphAccessorPtr &accessor)=0
Creates a TrueType glyph accessor.
virtual bool getFontName(EDLSysString &fontName)=0
Returns the XL font name.
virtual IDOMFontPCL5::ePCL5FontType getPCL5FontType() const =0
Returns the sub font type for this PCLXL font.
virtual bool getSymbolSetID(EDLSysString &symbolSetID) const =0
Returns the font symbol set ID.
virtual IDOMFontPCL5::SymbolSetIDCode getSymbolSetIDCode() const =0
Returns the font symbol set ID as an ID Code.
@ ePCL5FontTypeBitmap
Definition idomfontpcl.h:398
@ ePCL5FontTypeTTF
Definition idomfontpcl.h:397
This class models PCL XL TrueType and bitmap fonts derived from an OpenType font source.
Definition idomfontpcl.h:234
static const CClassID & classID()
Retrieves the class id of IDOMFontPCLXL.
Definition idomfontpcl.h:270
virtual IDOMFontPCLXL::ePCLXLFontType getPCLXLFontType() const =0
Returns the sub font type for this PCL XL font.
virtual bool getFontName(EDLSysString &fontName)=0
Returns the XL font name. For example, "Times New Roman".
virtual bool getFontTrueTypeGlyphAccessor(IFontPCLXLTrueTypeGlyphAccessorPtr &accessor)=0
Creates a TrueType glyph accessor.
virtual bool getFontHeaderSegmentBlockEnumerator(IFontHeaderWriteSegmentBlockEnumeratorPtr &enumerator)=0
Creates a PCL XL FontHeader enumerator of the font for the PCL XL ReadFontHeader operator.
@ ePCLXLFontTypeBitmap
Bitmap font.
Definition idomfontpcl.h:246
@ ePCLXLFontTypeTTF
TrueType based font.
Definition idomfontpcl.h:245
IEDLObject is an abstract base class that is used by all classes that are intended to be created via ...
Definition iedlobject.h:53
IFontHeaderWriteSegmentBlockEnumerator Enumerates over the PCLXL Font Header block items for the XL R...
Definition idomfontpcl.h:26
virtual int32 writeSegmentBlock(const IOutputStreamPtr &outStream, eEDLEndian endian)=0
Writes the current enumeration item block.
virtual bool haveMoreEnumerationItems()=0
Indicate whether there are more items in the enumeration.
virtual eFontHeaderWriteSegmentItem getSegmentItem()=0
Returns the current segment item in the enumeration.
virtual bool nextEnumerationItem()=0
Get the next enumeration item.
virtual int32 getSegmentBlockSize()=0
Returns the current enumeration item segment block size.
virtual int32 getSegmentBlockItem()=0
Returns the current block item of segment item in the enumeration.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomfontpcl.h:48
@ eItemFinished
Definition idomfontpcl.h:40
@ eItemGCSegment
Definition idomfontpcl.h:38
@ eItemNullSegment
Definition idomfontpcl.h:39
@ eItemGTSegment
Definition idomfontpcl.h:37
Definition idomfontpcl.h:310
static const CClassID & classID()
Retrieves class id of IFontPCL5TrueTypeGlyphAccessor.
Definition idomfontpcl.h:320
virtual int32 getGlyphDataSize(IDOMGlyph::GlyphID glyphID)=0
Gets the size of the glyph data.
virtual IDOMFont::CharCode glyphIDToCharCode(IDOMGlyph::GlyphID glyphID)=0
Returns the coresponding character code of the glyphID.
virtual bool hasGlyph(IDOMGlyph::GlyphID glyphID)=0
Indicate existance of glyph ID in the font.
virtual int32 glyphDataWrite(const IOutputStreamPtr &outStream, IDOMGlyph::GlyphID glyphID, eEDLEndian endian)=0
Writes the glyph associated with the glyphID to the given output stream @ param outStream The output ...
virtual bool getDependantGlyphIDEnumerator(IDOMGlyph::GlyphID glyphID, IDOMGlyphIDEnumeratorPtr &ienumerator)=0
Gets a glyphID enumerator which lists the dependant glyph IDs of the given glyphID.
virtual IDOMGlyph::GlyphID charCodeToGlyphID(IDOMFont::CharCode charCode)=0
Returns the coresponding glyphID of the character code.
IFontPCL5WriteSegmentBlockEnumerator Enumerates over the PCL5 font blocks.
Definition idomfontpcl.h:106
virtual int32 getEnumerationCount()=0
Return the total number of enumeration blocks that will be iterated through.
virtual bool haveMoreEnumerationItems()=0
Indicate whether there are more items in the enumeration.
static const CClassID & classID()
Retrieves class id of IDOM.
Definition idomfontpcl.h:116
virtual int32 getEnumerationItemBlockSize()=0
Return the current enumeration item block size.
virtual bool nextEnumerationItem()=0
Get the next enumeration item.
virtual int32 writeEnumerationItemBlock(const IOutputStreamPtr &outStream, eEDLEndian endian)=0
Writes the current enumeration item block.
Definition idomfontpcl.h:162
static const CClassID & classID()
Retrieves class id of IFontPCLXLTrueTypeGlyphAccessor.
Definition idomfontpcl.h:170
virtual int32 glyphDataWrite(const IOutputStreamPtr &outStream, IDOMGlyph::GlyphID glyphID, eEDLEndian endian, uint8 characterClass)=0
Writes the glyph associated with the glyphID to the given output stream @ param outStream The output ...
virtual IDOMFont::CharCode glyphIDToCharCode(IDOMGlyph::GlyphID glyphID)=0
Returns the coresponding character code of the glyphID.
virtual int32 getGlyphDataSize(IDOMGlyph::GlyphID glyphID, uint8 characterClass)=0
Gets the size of the glyph data.
virtual bool getDependantGlyphIDEnumerator(IDOMGlyph::GlyphID glyphID, IDOMGlyphIDEnumeratorPtr &ienumerator)=0
Gets a glyphID enumerator which lists the dependant glyph IDs of the given glyphID.
virtual bool hasGlyph(IDOMGlyph::GlyphID glyphID)=0
Indicate existance of glyph ID in the font.
virtual IDOMGlyph::GlyphID charCodeToGlyphID(IDOMFont::CharCode charCode)=0
Returns the coresponding glyphID of the character code.
#define _END_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:110
#define _BEGIN_EDL_DOM_NAMESPACE
Definition edlnamespaces.h:109
std::string EDLSysString
Definition edlstring.h:158
unsigned short uint16
Definition edltypes.h:33
signed int int32
Definition edltypes.h:29
unsigned char uint8
Definition edltypes.h:32
uint16 GlyphID
Holds the glyph ID of the glyph.
Definition idomglyph.h:80
Data()
Definition idomfont.h:1216
eFontHeaderWriteSegmentItem
The enumeration of the segment types to be enumerated over.
Definition idomfontpcl.h:35
uint16 SymbolSet
Type represents the PCL XL Font Symbol Set.
Definition idomfontpcl.h:255
ePCL5FontType
Type used to uniquely identify the type of PCL5 font (Currently, only TTF supported).
Definition idomfontpcl.h:396
ePCLXLFontType
The enumeration used to identify the type of the PCL XL font.
Definition idomfontpcl.h:244
uint16 SymbolSetIDCode
Type represents the PCL5 Font Symbol Set.
Definition idomfontpcl.h:407
uint32 CharCode
type used to uniquely identify a character code
Definition idomfont.h:309
#define IFontPCL5TrueTypeGlyphAccessorClassID
Definition idomfontpcl.h:312
#define IFontPCLXLTrueTypeGlyphAccessorClassID
Definition idomfontpcl.h:163
#define IDOMFontPCLXLClassID
Definition idomfontpcl.h:235
#define IDOMFontPCL5ClassID
Definition idomfontpcl.h:386
#define IFontHeaderWriteSegmentBlockEnumeratorClassID
Definition idomfontpcl.h:27
eEDLEndian
Definition platform.h:93
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211