libwps_tools_win.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-default-style: "k&r"; indent-tabs-mode: nil; tab-width: 2; c-basic-offset: 2 -*- */
2 /* libwps
3  * Version: MPL 2.0 / LGPLv2.1+
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  * Major Contributor(s):
10  * Copyright (C) 2009, 2011 Alonso Laurent (alonso@loria.fr)
11  * Copyright (C) 2006, 2007 Andrew Ziem
12  * Copyright (C) 2004-2006 Fridrich Strba (fridrich.strba@bluewin.ch)
13  * Copyright (C) 2004 Marc Maurer (uwog@uwog.net)
14  * Copyright (C) 2003-2005 William Lachance (william.lachance@sympatico.ca)
15  *
16  * For minor contributions see the git repository.
17  *
18  * Alternatively, the contents of this file may be used under the terms
19  * of the GNU Lesser General Public License Version 2.1 or later
20  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
21  * applicable instead of those above.
22  *
23  * For further information visit http://libwps.sourceforge.net
24  */
25 
26 /* This header contains code specific to windows file :
27  * - a class used to convert DOS/Win3 font characters in unicode
28  * - a class used to defined the text Language
29  */
30 
31 #ifndef WPS_WIN
32 # define WPS_WIN
33 
34 # include <string>
35 
36 # include "libwps_internal.h"
37 
39 namespace libwps_tools_win
40 {
42 class Font
43 {
44 public:
53 
59 
61  UNKNOWN
62  };
63  // CP_10006, CP_10007, CP_10029, CP_10079, CP_10081
65  static unsigned long unicode(unsigned char c, Type type);
67  static unsigned long LICSunicode(unsigned char c);
69  static Type getTypeForOEM(int oem);
71  static Type getTypeForString(char const *encoding);
77  static Type getFontType(librevenge::RVNGString &name);
79  static librevenge::RVNGString getTypeName(Type type);
80  static librevenge::RVNGString unicodeString(const unsigned char *p, unsigned long size, Type type);
81 protected:
82 };
83 
84 // see http://msdn.microsoft.com/en-us/library/bb213877.aspx (Community Content)
86 namespace Language
87 {
89 std::string name(long id);
91 std::string localeName(long id);
93 void addLocaleName(long id, librevenge::RVNGPropertyList &propList);
95 long getDefault();
96 }
97 
98 }
99 
100 
101 #endif
102 // vim: set filetype=cpp tabstop=2 shiftwidth=2 cindent autoindent smartindent noexpandtab:
a class to convert a DOS© or Windows3© character in unicode
Definition: libwps_tools_win.h:43
static librevenge::RVNGString unicodeString(const unsigned char *p, unsigned long size, Type type)
Definition: libwps_tools_win.cpp:7268
static unsigned long LICSunicode(unsigned char c)
converts a LICS character in unicode, knowing the character and the font type
Definition: libwps_tools_win.cpp:7131
Type
enum Type
Definition: libwps_tools_win.h:46
@ MAC_ROMANIAN
Definition: libwps_tools_win.h:57
@ MAC_TURKISH
Definition: libwps_tools_win.h:58
@ WIN3_WINGDINGS
Definition: libwps_tools_win.h:60
@ WIN3_BALTIC
Definition: libwps_tools_win.h:50
@ MAC_DEVANAGA
Definition: libwps_tools_win.h:55
@ MAC_CEUROPE
Definition: libwps_tools_win.h:54
@ CP_424
Definition: libwps_tools_win.h:46
@ CP_857
Definition: libwps_tools_win.h:47
@ CP_874
Definition: libwps_tools_win.h:49
@ CP_775
Definition: libwps_tools_win.h:46
@ CP_869
Definition: libwps_tools_win.h:49
@ CP_437
Definition: libwps_tools_win.h:46
@ MAC_SYMBOL
Definition: libwps_tools_win.h:60
@ CP_865
Definition: libwps_tools_win.h:48
@ MAC_THAI
Definition: libwps_tools_win.h:58
@ MAC_ICELAND
Definition: libwps_tools_win.h:57
@ UNKNOWN
Definition: libwps_tools_win.h:61
@ CP_950
Definition: libwps_tools_win.h:49
@ CP_932
Definition: libwps_tools_win.h:49
@ CP_737
Definition: libwps_tools_win.h:46
@ WIN3_CYRILLIC
Definition: libwps_tools_win.h:51
@ CP_855
Definition: libwps_tools_win.h:47
@ MAC_ARABIC
Definition: libwps_tools_win.h:54
@ MAC_ROMAN
Definition: libwps_tools_win.h:57
@ MAC_GAELIC
Definition: libwps_tools_win.h:55
@ CP_856
Definition: libwps_tools_win.h:47
@ CP_862
Definition: libwps_tools_win.h:48
@ CP_1006
Definition: libwps_tools_win.h:49
@ CP_860
Definition: libwps_tools_win.h:47
@ MAC_CELTIC
Definition: libwps_tools_win.h:54
@ MAC_GURMUKHI
Definition: libwps_tools_win.h:56
@ WIN3_TURKISH
Definition: libwps_tools_win.h:51
@ CP_861
Definition: libwps_tools_win.h:48
@ WIN3_VIETNAMESE
Definition: libwps_tools_win.h:52
@ CP_875
Definition: libwps_tools_win.h:49
@ MAC_GUJARATI
Definition: libwps_tools_win.h:56
@ MAC_FARSI
Definition: libwps_tools_win.h:55
@ WIN3_CEUROPE
Definition: libwps_tools_win.h:50
@ WIN3_HEBREW
Definition: libwps_tools_win.h:51
@ MAC_GREEK
Definition: libwps_tools_win.h:56
@ WIN3_WEUROPE
Definition: libwps_tools_win.h:52
@ CP_500
Definition: libwps_tools_win.h:46
@ WIN3_GREEK
Definition: libwps_tools_win.h:51
@ CP_866
Definition: libwps_tools_win.h:48
@ CP_1026
Definition: libwps_tools_win.h:50
@ CP_864
Definition: libwps_tools_win.h:48
@ MAC_CYRILLIC
Definition: libwps_tools_win.h:55
@ MAC_INUIT
Definition: libwps_tools_win.h:57
@ MAC_HEBREW
Definition: libwps_tools_win.h:56
@ CP_037
Definition: libwps_tools_win.h:46
@ CP_852
Definition: libwps_tools_win.h:47
@ WIN3_ARABIC
Definition: libwps_tools_win.h:50
@ CP_863
Definition: libwps_tools_win.h:48
@ DOS_850
Definition: libwps_tools_win.h:47
@ MAC_CROATIAN
Definition: libwps_tools_win.h:54
static Type getFontType(librevenge::RVNGString &name)
returns the type of the font using the fontName
Definition: libwps_tools_win.cpp:39
static Type getTypeForOEM(int oem)
Definition: libwps_tools_win.cpp:112
static unsigned long unicode(unsigned char c, Type type)
converts a character in unicode, knowing the character and the font type
Definition: libwps_tools_win.cpp:7148
static librevenge::RVNGString getTypeName(Type type)
return the type name
Definition: libwps_tools_win.cpp:258
static Type getTypeForString(char const *encoding)
Definition: libwps_tools_win.cpp:194
std::string name(long id)
returns the name given Windows© id
Definition: libwps_tools_win.cpp:7296
long getDefault()
returns the default language: 0x409 : english(US)
Definition: libwps_tools_win.cpp:7291
std::string localeName(long id)
returns the simplified locale name
Definition: libwps_tools_win.cpp:7387
void addLocaleName(long id, librevenge::RVNGPropertyList &propList)
add locale name (ie. fo:language,fo:country ) to propList
Definition: libwps_tools_win.cpp:7474
some Windows© classes and tools
Definition: libwps_tools_win.cpp:32

Generated on Wed Sep 1 2021 15:51:27 for libwps by doxygen 1.9.1