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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
/* liblouis Braille Translation and Back-Translation Library
Based on the Linux screenreader BRLTTY, copyright (C) 1999-2006 by
The BRLTTY Team
Copyright (C) 2004, 2005, 2006, 2009 ViewPlus Technologies, Inc.
www.viewplus.com and JJB Software, Inc. www.jjb-software.com
liblouis is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
liblouis is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this program. If not, see
<http://www.gnu.org/licenses/>.
Maintained by John J. Boyer john.boyer@abilitiessoft.com
*/
#ifndef __LIBLOUIS_H_
#define __LIBLOUIS_H_
#ifdef __cplusplus
extern "C"
{
#endif /* __cplusplus */
#define widechar @WIDECHAR_TYPE@
#ifdef _WIN32
#define EXPORT_CALL __stdcall
char * EXPORT_CALL lou_getProgramPath (void);
#else
#define EXPORT_CALL
#endif
typedef enum
{
plain_text = 0,
italic = 1,
underline = 2,
bold = 4,
computer_braille = 8
} typeforms;
#define comp_emph_1 italic
#define comp_emph_2 underline
#define comp_emph_3 bold
typedef enum
{
noContractions = 1,
compbrlAtCursor = 2,
dotsIO = 4,
comp8Dots = 8,
pass1Only = 16
} translationModes;
char * EXPORT_CALL lou_version ();
int EXPORT_CALL lou_translateString
(const char *trantab,
const widechar *inbuf,
int *inlen,
widechar * outbuf,
int *outlen, char *typeform, char *spacing, int mode);
int EXPORT_CALL lou_translate (const char *trantab, const widechar
*inbuf,
int *inlen, widechar * outbuf, int *outlen,
char *typeform, char *spacing, int *outputPos, int
*inputPos, int *cursorPos, int mode);
int EXPORT_CALL lou_hyphenate (const char *trantab, const widechar
*inbuf,
int inlen, char *hyphens, int mode);
int EXPORT_CALL lou_backTranslateString (const char *trantab,
const widechar *inbuf,
int *inlen,
widechar * outbuf,
int *outlen, char *typeform, char
*spacing, int mode);
int EXPORT_CALL lou_backTranslate (const char *trantab, const widechar
*inbuf,
int *inlen, widechar * outbuf, int *outlen,
char *typeform, char *spacing, int
*outputPos, int *inputPos, int *cursorPos, int
mode);
void EXPORT_CALL lou_logPrint (char *format, ...);
/* prints error messages to a file */
void EXPORT_CALL lou_logFile (char *filename);
/* Specifies the name of the file to be used by lou_logPrint. If it is
* not used, this file is stderr*/
int EXPORT_CALL lou_readCharFromFile (const char *fileName, int *mode);
/*Read a character from a file, whether big-encian, little-endian or
* ASCII8, and return it as an integer. EOF at end of file. Mode = 1 on
* first call, any other value thereafter*/
void * EXPORT_CALL lou_getTable (const char *trantab);
/* This function checks a table for errors. If none are found it loads
* the table into memory and returns a pointer to it. if errors are found
* it returns a null pointer. It is called by _ou_translateString and
* lou_backTranslateString and also by functions in liblouisxml
*/
void EXPORT_CALL lou_free (void);
/* This function should be called at the end of
* the application to free all memory allocated by liblouis. */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /*LibLOUIS_H_ */
|