|
Packit Service |
b70e42 |
/* liblouis Braille Translation and Back-Translation Library
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
Based on the Linux screenreader BRLTTY, copyright (C) 1999-2006 by
|
|
Packit Service |
b70e42 |
The BRLTTY Team
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
Copyright (C) 2004, 2005, 2006, 2009 ViewPlus Technologies, Inc.
|
|
Packit Service |
b70e42 |
www.viewplus.com and JJB Software, Inc. www.jjb-software.com
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
liblouis is free software: you can redistribute it and/or modify it
|
|
Packit Service |
b70e42 |
under the terms of the GNU Lesser General Public License as
|
|
Packit Service |
b70e42 |
published by the Free Software Foundation, either version 3 of the
|
|
Packit Service |
b70e42 |
License, or (at your option) any later version.
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
liblouis is distributed in the hope that it will be useful, but
|
|
Packit Service |
b70e42 |
WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit Service |
b70e42 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit Service |
b70e42 |
Lesser General Public License for more details.
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
You should have received a copy of the GNU Lesser General Public
|
|
Packit Service |
b70e42 |
License along with this program. If not, see
|
|
Packit Service |
b70e42 |
<http://www.gnu.org/licenses/>.
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
Maintained by John J. Boyer john.boyer@abilitiessoft.com
|
|
Packit Service |
b70e42 |
*/
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
#ifndef __LIBLOUIS_H_
|
|
Packit Service |
b70e42 |
#define __LIBLOUIS_H_
|
|
Packit Service |
b70e42 |
#ifdef __cplusplus
|
|
Packit Service |
b70e42 |
extern "C"
|
|
Packit Service |
b70e42 |
{
|
|
Packit Service |
b70e42 |
#endif /* __cplusplus */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
#define widechar @WIDECHAR_TYPE@
|
|
Packit Service |
b70e42 |
#define formtype unsigned char
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
#ifdef _WIN32
|
|
Packit Service |
b70e42 |
#define EXPORT_CALL __stdcall
|
|
Packit Service |
b70e42 |
char *EXPORT_CALL lou_getProgramPath ();
|
|
Packit Service |
b70e42 |
#else
|
|
Packit Service |
b70e42 |
#define EXPORT_CALL
|
|
Packit Service |
b70e42 |
#endif
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
typedef enum
|
|
Packit Service |
b70e42 |
{
|
|
Packit Service |
b70e42 |
plain_text = 0,
|
|
Packit Service |
b70e42 |
italic = 1,
|
|
Packit Service |
b70e42 |
underline = 2,
|
|
Packit Service |
b70e42 |
bold = 4,
|
|
Packit Service |
b70e42 |
computer_braille = 8
|
|
Packit Service |
b70e42 |
} typeforms;
|
|
Packit Service |
b70e42 |
#define comp_emph_1 italic
|
|
Packit Service |
b70e42 |
#define comp_emph_2 underline
|
|
Packit Service |
b70e42 |
#define comp_emph_3 bold
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
typedef enum
|
|
Packit Service |
b70e42 |
{
|
|
Packit Service |
b70e42 |
noContractions = 1,
|
|
Packit Service |
b70e42 |
compbrlAtCursor = 2,
|
|
Packit Service |
b70e42 |
dotsIO = 4,
|
|
Packit Service |
b70e42 |
comp8Dots = 8,
|
|
Packit Service |
b70e42 |
pass1Only = 16,
|
|
Packit Service |
b70e42 |
compbrlLeftCursor = 32,
|
|
Packit Service |
b70e42 |
otherTrans = 64,
|
|
Packit Service |
b70e42 |
ucBrl = 128
|
|
Packit Service |
b70e42 |
} translationModes;
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
char *EXPORT_CALL lou_version ();
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_charSize ();
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
/* Return the size of widechar */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_translateString
|
|
Packit Service |
b70e42 |
(const char *tableList,
|
|
Packit Service |
b70e42 |
const widechar * inbuf,
|
|
Packit Service |
b70e42 |
int *inlen,
|
|
Packit Service |
b70e42 |
widechar * outbuf, int *outlen, formtype *typeform, char *spacing,
|
|
Packit Service |
b70e42 |
int
|
|
Packit Service |
b70e42 |
mode);
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_translate (const char *tableList, const widechar
|
|
Packit Service |
b70e42 |
* inbuf,
|
|
Packit Service |
b70e42 |
int *inlen, widechar * outbuf, int *outlen,
|
|
Packit Service |
b70e42 |
formtype *typeform, char *spacing,
|
|
Packit Service |
b70e42 |
int *outputPos, int *inputPos,
|
|
Packit Service |
b70e42 |
int *cursorPos, int mode);
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_translatePrehyphenated (const char *tableList,
|
|
Packit Service |
b70e42 |
const widechar * inbuf,
|
|
Packit Service |
b70e42 |
int *inlen, widechar * outbuf,
|
|
Packit Service |
b70e42 |
int *outlen, formtype
|
|
Packit Service |
b70e42 |
*typeform,
|
|
Packit Service |
b70e42 |
char *spacing, int *outputPos,
|
|
Packit Service |
b70e42 |
int *inputPos, int *cursorPos,
|
|
Packit Service |
b70e42 |
char *inputHyphens,
|
|
Packit Service |
b70e42 |
char *outputHyphens, int mode);
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_hyphenate (const char *tableList, const widechar
|
|
Packit Service |
b70e42 |
* inbuf, int inlen, char *hyphens, int mode);
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_dotsToChar (const char *tableList, widechar * inbuf,
|
|
Packit Service |
b70e42 |
widechar * outbuf, int length, int mode);
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_charToDots (const char *tableList, const widechar
|
|
Packit Service |
b70e42 |
* inbuf,
|
|
Packit Service |
b70e42 |
widechar * outbuf, int length, int mode);
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_backTranslateString (const char *tableList,
|
|
Packit Service |
b70e42 |
const widechar * inbuf,
|
|
Packit Service |
b70e42 |
int *inlen,
|
|
Packit Service |
b70e42 |
widechar * outbuf,
|
|
Packit Service |
b70e42 |
int *outlen, formtype
|
|
Packit Service |
b70e42 |
*typeform, char
|
|
Packit Service |
b70e42 |
*spacing, int mode);
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_backTranslate (const char *tableList, const widechar
|
|
Packit Service |
b70e42 |
* inbuf,
|
|
Packit Service |
b70e42 |
int *inlen, widechar * outbuf,
|
|
Packit Service |
b70e42 |
int *outlen, formtype *typeform,
|
|
Packit Service |
b70e42 |
char *spacing, int *outputPos,
|
|
Packit Service |
b70e42 |
int *inputPos, int *cursorPos, int mode);
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_logPrint (const char *format, ...);
|
|
Packit Service |
b70e42 |
/* Prints error messages to a file
|
|
Packit Service |
b70e42 |
@deprecated As of 2.6.0, applications using liblouis should implement
|
|
Packit Service |
b70e42 |
their own logging system. */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_logFile (const char *filename);
|
|
Packit Service |
b70e42 |
/* Specifies the name of the file to be used by lou_logPrint. If it is
|
|
Packit Service |
b70e42 |
* not used, this file is stderr*/
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_readCharFromFile (const char *fileName, int *mode);
|
|
Packit Service |
b70e42 |
/*Read a character from a file, whether big-encian, little-endian or
|
|
Packit Service |
b70e42 |
* ASCII8, and return it as an integer. EOF at end of file. Mode = 1 on
|
|
Packit Service |
b70e42 |
* first call, any other value thereafter*/
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_logEnd ();
|
|
Packit Service |
b70e42 |
/* Closes the log file so it can be read by other functions. */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
void *EXPORT_CALL lou_getTable (const char *tableList);
|
|
Packit Service |
b70e42 |
/* This function checks a table for errors. If none are found it loads
|
|
Packit Service |
b70e42 |
* the table into memory and returns a pointer to it. if errors are found
|
|
Packit Service |
b70e42 |
* it returns a null pointer. It is called by lou_translateString and
|
|
Packit Service |
b70e42 |
* lou_backTranslateString and also by functions in liblouisxml
|
|
Packit Service |
b70e42 |
*/
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_registerTableResolver (char ** (* resolver) (const char *table, const char *base));
|
|
Packit Service |
b70e42 |
/* Register a new table resolver. Overrides the default resolver. */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
int EXPORT_CALL lou_compileString (const char *tableList, const char
|
|
Packit Service |
b70e42 |
*inString);
|
|
Packit Service |
b70e42 |
char *EXPORT_CALL lou_setDataPath (char *path);
|
|
Packit Service |
b70e42 |
/* Set the path used for searching for tables and liblouisutdml files.
|
|
Packit Service |
b70e42 |
* Overrides the installation path. */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
char *EXPORT_CALL lou_getDataPath ();
|
|
Packit Service |
b70e42 |
/* Get the path set in the previous function. */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
// char EXPORT_CALL * lou_getTablePaths ();
|
|
Packit Service |
b70e42 |
/* Get a list of paths actually used in seraching for tables */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
typedef void (*logcallback)(int level, const char *message);
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_registerLogCallback(logcallback callback);
|
|
Packit Service |
b70e42 |
/* Register logging callbacks
|
|
Packit Service |
b70e42 |
* Set to NULL for default callback.
|
|
Packit Service |
b70e42 |
*/
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
typedef enum
|
|
Packit Service |
b70e42 |
{
|
|
Packit Service |
b70e42 |
LOG_ALL = -2147483648,
|
|
Packit Service |
b70e42 |
LOG_DEBUG = 10000,
|
|
Packit Service |
b70e42 |
LOG_INFO = 20000,
|
|
Packit Service |
b70e42 |
LOG_WARN = 30000,
|
|
Packit Service |
b70e42 |
LOG_ERROR = 40000,
|
|
Packit Service |
b70e42 |
LOG_FATAL = 50000,
|
|
Packit Service |
b70e42 |
LOG_OFF = 2147483647
|
|
Packit Service |
b70e42 |
} logLevels;
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_setLogLevel(logLevels level);
|
|
Packit Service |
b70e42 |
/* Set the level for logging callback to be called at */
|
|
Packit Service |
b70e42 |
void EXPORT_CALL lou_free ();
|
|
Packit Service |
b70e42 |
/* This function should be called at the end of
|
|
Packit Service |
b70e42 |
* the application to free all memory allocated by liblouis. */
|
|
Packit Service |
b70e42 |
|
|
Packit Service |
b70e42 |
#ifdef __cplusplus
|
|
Packit Service |
b70e42 |
}
|
|
Packit Service |
b70e42 |
#endif /* __cplusplus */
|
|
Packit Service |
b70e42 |
#endif /*LibLOUIS_H_ */
|