1 /*
2 *
3 * (C) Copyright IBM Corp. 1998-2014 - All Rights Reserved
4 *
5 */
6
7 #ifndef USING_ICULEHB /* C API not available under HB */
8
9 #include "layout/LETypes.h"
10 #include "loengine.h"
11 #include "PortableFontInstance.h"
12 #include "SimpleFontInstance.h"
13
14 U_CDECL_BEGIN
15
le_portableFontOpen(const char * fileName,float pointSize,LEErrorCode * status)16 le_font *le_portableFontOpen(const char *fileName,
17 float pointSize,
18 LEErrorCode *status)
19 {
20 return (le_font *) new PortableFontInstance(fileName, pointSize, *status);
21 }
22
le_simpleFontOpen(float pointSize,LEErrorCode * status)23 le_font *le_simpleFontOpen(float pointSize,
24 LEErrorCode *status)
25 {
26 return (le_font *) new SimpleFontInstance(pointSize, *status);
27 }
28
le_fontClose(le_font * font)29 void le_fontClose(le_font *font)
30 {
31 LEFontInstance *fontInstance = (LEFontInstance *) font;
32
33 delete fontInstance;
34 }
35
le_getNameString(le_font * font,le_uint16 nameID,le_uint16 platform,le_uint16 encoding,le_uint16 language)36 const char *le_getNameString(le_font *font, le_uint16 nameID, le_uint16 platform, le_uint16 encoding, le_uint16 language)
37 {
38 PortableFontInstance *pfi = (PortableFontInstance *) font;
39
40 return pfi->getNameString(nameID, platform, encoding, language);
41 }
42
le_getUnicodeNameString(le_font * font,le_uint16 nameID,le_uint16 platform,le_uint16 encoding,le_uint16 language)43 const LEUnicode16 *le_getUnicodeNameString(le_font *font, le_uint16 nameID, le_uint16 platform, le_uint16 encoding, le_uint16 language)
44 {
45 PortableFontInstance *pfi = (PortableFontInstance *) font;
46
47 return pfi->getUnicodeNameString(nameID, platform, encoding, language);
48 }
49
le_deleteNameString(le_font * font,const char * name)50 void le_deleteNameString(le_font *font, const char *name)
51 {
52 PortableFontInstance *pfi = (PortableFontInstance *) font;
53
54 pfi->deleteNameString(name);
55 }
56
le_deleteUnicodeNameString(le_font * font,const LEUnicode16 * name)57 void le_deleteUnicodeNameString(le_font *font, const LEUnicode16 *name)
58 {
59 PortableFontInstance *pfi = (PortableFontInstance *) font;
60
61 pfi->deleteNameString(name);
62 }
63
le_getFontChecksum(le_font * font)64 le_uint32 le_getFontChecksum(le_font *font)
65 {
66 PortableFontInstance *pfi = (PortableFontInstance *) font;
67
68 return pfi->getFontChecksum();
69 }
70
71 U_CDECL_END
72 #endif
73