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