LibreOffice
LibreOffice 24.2 SDK C/C++ API Reference
tencinfo.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
11  * Licensed to the Apache Software Foundation (ASF) under one or more
12  * contributor license agreements. See the NOTICE file distributed
13  * with this work for additional information regarding copyright
14  * ownership. The ASF licenses this file to you under the Apache
15  * License, Version 2.0 (the "License"); you may not use this file
16  * except in compliance with the License. You may obtain a copy of
17  * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18  */
19 
20 /*
21  * This file is part of LibreOffice published API.
22  */
23 
24 #ifndef INCLUDED_RTL_TENCINFO_H
25 #define INCLUDED_RTL_TENCINFO_H
26 
27 #include "sal/config.h"
28 
29 #include "rtl/textenc.h"
30 #include "sal/saldllapi.h"
31 #include "sal/types.h"
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 // See rtl_TextEncodingInfo.Flags below for documentation on these values:
38 #define RTL_TEXTENCODING_INFO_CONTEXT ((sal_uInt32)0x00000001)
39 #define RTL_TEXTENCODING_INFO_ASCII ((sal_uInt32)0x00000002)
40 #define RTL_TEXTENCODING_INFO_UNICODE ((sal_uInt32)0x00000004)
41 #define RTL_TEXTENCODING_INFO_MULTIBYTE ((sal_uInt32)0x00000008)
42 #define RTL_TEXTENCODING_INFO_R2L ((sal_uInt32)0x00000010)
43 #define RTL_TEXTENCODING_INFO_7BIT ((sal_uInt32)0x00000020)
44 #define RTL_TEXTENCODING_INFO_SYMBOL ((sal_uInt32)0x00000040)
45 #define RTL_TEXTENCODING_INFO_MIME ((sal_uInt32)0x00000080)
46 
49 typedef struct _rtl_TextEncodingInfo
50 {
53  sal_uInt32 StructSize;
54 
62 
70 
75 
79 
137  sal_uInt32 Flags;
139 
152 
167  rtl_TextEncoding eTextEncoding, rtl_TextEncodingInfo* pEncInfo );
168 
181  sal_uInt8 nWinCharset );
182 
193  const char* pMimeCharset );
194 
205  const char* pUnixCharset );
206 
216  rtl_TextEncoding eTextEncoding );
217 
229  rtl_TextEncoding nEncoding );
230 
240  rtl_TextEncoding eTextEncoding );
241 
251  rtl_TextEncoding eTextEncoding );
252 
264 rtl_getTextEncodingFromWindowsCodePage(sal_uInt32 nCodePage);
265 
275 SAL_DLLPUBLIC sal_uInt32 SAL_CALL
277 
278 #ifdef __cplusplus
279 }
280 #endif
281 
282 #endif // INCLUDED_RTL_TENCINFO_H
283 
284 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SAL_DLLPUBLIC sal_Bool rtl_isOctetTextEncoding(rtl_TextEncoding nEncoding)
Determine whether a text encoding uses single octets as basic units of information (and can thus be u...
SAL_DLLPUBLIC char const * rtl_getMimeCharsetFromTextEncoding(rtl_TextEncoding nEncoding)
Map from a text encoding to a corresponding MIME charset name, if available (see http://www.iana.org/assignments/character-sets).
#define SAL_DLLPUBLIC
Definition: saldllapi.h:34
SAL_DLLPUBLIC sal_uInt8 rtl_getBestWindowsCharsetFromTextEncoding(rtl_TextEncoding eTextEncoding)
Map from a text encoding to the best matching numeric Windows charset.
SAL_DLLPUBLIC rtl_TextEncoding rtl_getTextEncodingFromUnixCharset(const char *pUnixCharset)
Map from a Unix charset to a text encoding.
SAL_DLLPUBLIC rtl_TextEncoding rtl_getTextEncodingFromMimeCharset(const char *pMimeCharset)
Map from a MIME charset to a text encoding.
SAL_DLLPUBLIC sal_uInt32 rtl_getWindowsCodePageFromTextEncoding(rtl_TextEncoding nEncoding)
Map from a text encoding to a Windows code page.
SAL_DLLPUBLIC rtl_TextEncoding rtl_getTextEncodingFromWindowsCodePage(sal_uInt32 nCodePage)
Map from a Windows code page to a text encoding.
SAL_DLLPUBLIC rtl_TextEncoding rtl_getTextEncodingFromWindowsCharset(sal_uInt8 nWinCharset)
Map from a numeric Windows charset to a text encoding.
SAL_DLLPUBLIC sal_Bool rtl_getTextEncodingInfo(rtl_TextEncoding eTextEncoding, rtl_TextEncodingInfo *pEncInfo)
Return information about a text encoding.
unsigned char sal_Bool
Definition: types.h:38
sal_uInt16 rtl_TextEncoding
The various supported text encodings.
Definition: textenc.h:37
Information about a text encoding.
Definition: tencinfo.h:49
sal_uInt8 MaximumCharSize
The maximum number of bytes needed to encode any character in the given encoding. ...
Definition: tencinfo.h:69
SAL_DLLPUBLIC const char * rtl_getBestMimeCharsetFromTextEncoding(rtl_TextEncoding eTextEncoding)
Map from a text encoding to the best matching MIME charset.
sal_uInt8 Reserved
An unused byte, for padding.
Definition: tencinfo.h:78
struct _rtl_TextEncodingInfo rtl_TextEncodingInfo
Information about a text encoding.
sal_uInt32 Flags
Any combination of the RTL_TEXTENCODING_INFO flags.
Definition: tencinfo.h:137
sal_uInt8 AverageCharSize
The average number of bytes needed to encode a character in the given encoding.
Definition: tencinfo.h:74
SAL_DLLPUBLIC const char * rtl_getBestUnixCharsetFromTextEncoding(rtl_TextEncoding eTextEncoding)
Map from a text encoding to the best matching Unix charset.
sal_uInt32 StructSize
The size (in bytes) of this structure.
Definition: tencinfo.h:53
unsigned char sal_uInt8
Definition: types.h:44
sal_uInt8 MinimumCharSize
The minimum number of bytes needed to encode any character in the given encoding. ...
Definition: tencinfo.h:61