summaryrefslogtreecommitdiff
path: root/pango/opentype/harfbuzz-open-private.h
blob: 73fa5158daf232da1417391251b62972efc26c6c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
/*******************************************************************
 *
 *  Copyright 1996-2000 by
 *  David Turner, Robert Wilhelm, and Werner Lemberg.
 *
 *  Copyright 2006  Behdad Esfahbod
 *
 *  This is part of HarfBuzz, an OpenType Layout engine library.
 *
 *  See the file name COPYING for licensing information.
 *
 ******************************************************************/
#ifndef HARFBUZZ_OPEN_PRIVATE_H
#define HARFBUZZ_OPEN_PRIVATE_H

#include "harfbuzz-impl.h"
#include "harfbuzz-open.h"
#include "harfbuzz-gsub-private.h"
#include "harfbuzz-gpos-private.h"

HB_BEGIN_HEADER


struct  HB_SubTable_
{
  union
  {
    HB_GSUB_SubTable  gsub;
    HB_GPOS_SubTable  gpos;
  } st;
};


HB_INTERNAL HB_Error
_HB_OPEN_Load_ScriptList( HB_ScriptList* sl,
			   HB_Stream     input );
HB_INTERNAL HB_Error
_HB_OPEN_Load_FeatureList( HB_FeatureList* fl,
			   HB_Stream       input );
HB_INTERNAL HB_Error
_HB_OPEN_Load_LookupList( HB_LookupList*  ll,
			  HB_Stream       input,
			  HB_Type         type );

HB_INTERNAL HB_Error
_HB_OPEN_Load_Coverage( HB_Coverage* c,
			HB_Stream    input );
HB_INTERNAL HB_Error
_HB_OPEN_Load_ClassDefinition( HB_ClassDefinition* cd,
			       HB_UShort           limit,
			       HB_Stream           input );
HB_INTERNAL HB_Error
_HB_OPEN_Load_EmptyOrClassDefinition( HB_ClassDefinition* cd,
				      HB_UShort           limit,
				      HB_UInt            class_offset,
				      HB_UInt            base_offset,
				      HB_Stream           input );
HB_INTERNAL HB_Error
_HB_OPEN_Load_Device( HB_Device* d,
		      HB_Stream  input );

HB_INTERNAL void  _HB_OPEN_Free_ScriptList( HB_ScriptList*  sl );
HB_INTERNAL void  _HB_OPEN_Free_FeatureList( HB_FeatureList*  fl );
HB_INTERNAL void  _HB_OPEN_Free_LookupList( HB_LookupList*  ll,
					    HB_Type         type );

HB_INTERNAL void  _HB_OPEN_Free_Coverage( HB_Coverage*  c );
HB_INTERNAL void  _HB_OPEN_Free_ClassDefinition( HB_ClassDefinition*  cd );
HB_INTERNAL void  _HB_OPEN_Free_Device( HB_Device*  d );



HB_INTERNAL HB_Error
_HB_OPEN_Coverage_Index( HB_Coverage* c,
			 HB_UShort    glyphID,
			 HB_UShort*   index );
HB_INTERNAL HB_Error
_HB_OPEN_Get_Class( HB_ClassDefinition* cd,
		    HB_UShort           glyphID,
		    HB_UShort*          klass,
		    HB_UShort*          index );
HB_INTERNAL HB_Error
_HB_OPEN_Get_Device( HB_Device* d,
		     HB_UShort  size,
		     HB_Short*  value );

HB_END_HEADER

#endif /* HARFBUZZ_OPEN_PRIVATE_H */