added Encodings library

This commit is contained in:
Günter Obiltschnig 2018-02-14 08:40:11 +01:00
parent f1cd23b71b
commit 37b0c377a9
66 changed files with 19632 additions and 0 deletions

35
Encodings/CMakeLists.txt Normal file
View File

@ -0,0 +1,35 @@
set(LIBNAME "Encodings")
set(POCO_LIBNAME "Poco${LIBNAME}")
# Sources
file(GLOB SRCS_G "src/*.cpp")
POCO_SOURCES_AUTO( SRCS ${SRCS_G})
# Headers
file(GLOB_RECURSE HDRS_G "include/*.h" )
POCO_HEADERS_AUTO( SRCS ${HDRS_G})
add_library( "${LIBNAME}" ${LIB_MODE} ${SRCS} )
add_library( "${POCO_LIBNAME}" ALIAS "${LIBNAME}")
set_target_properties( "${LIBNAME}"
PROPERTIES
VERSION ${SHARED_LIBRARY_VERSION} SOVERSION ${SHARED_LIBRARY_VERSION}
OUTPUT_NAME ${POCO_LIBNAME}
DEFINE_SYMBOL Encodings_EXPORTS
)
target_link_libraries( "${LIBNAME}" Foundation)
target_include_directories( "${LIBNAME}"
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src
)
target_compile_definitions("${LIBNAME}" PUBLIC ${LIB_MODE_DEFINITIONS})
POCO_INSTALL("${LIBNAME}")
POCO_GENERATE_PACKAGE("${LIBNAME}")
if (ENABLE_TESTS)
add_subdirectory(testsuite)
endif ()

View File

@ -0,0 +1,15 @@
#
# Makefile
#
# Makefile for Poco TextEncodingCompiler
#
include $(POCO_BASE)/build/rules/global
objects = TextEncodingCompiler
target = tec
target_version = 1
target_libs = PocoUtil PocoNet PocoXML PocoJSON PocoFoundation
include $(POCO_BASE)/build/rules/exec

View File

@ -0,0 +1,389 @@
//
// TextEncodingCompiler.cpp
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Util/Application.h"
#include "Poco/Util/Option.h"
#include "Poco/Util/OptionSet.h"
#include "Poco/Util/HelpFormatter.h"
#include "Poco/Util/MapConfiguration.h"
#include "Poco/URI.h"
#include "Poco/URIStreamOpener.h"
#include "Poco/StringTokenizer.h"
#include "Poco/NumberParser.h"
#include "Poco/NumberFormatter.h"
#include "Poco/Exception.h"
#include "Poco/DateTime.h"
#include "Poco/AutoPtr.h"
#include "Poco/Path.h"
#include "Poco/Net/HTTPStreamFactory.h"
#include "Poco/Net/FTPStreamFactory.h"
#include <iostream>
#include <fstream>
#include <memory>
#include <map>
using Poco::Util::Application;
using Poco::Util::Option;
using Poco::Util::OptionSet;
using Poco::Util::HelpFormatter;
using Poco::Util::AbstractConfiguration;
using Poco::Util::OptionCallback;
using Poco::Net::HTTPStreamFactory;
using Poco::Net::FTPStreamFactory;
using Poco::URIStreamOpener;
using Poco::StringTokenizer;
using Poco::NumberParser;
using Poco::NumberFormatter;
class TextEncodingCompiler: public Application
{
public:
TextEncodingCompiler():
_helpRequested(false),
_pVars(new Poco::Util::MapConfiguration)
{
for (int i = 0; i < 256; i++)
{
_characterMap[i] = -1;
}
}
protected:
void initialize(Application& self)
{
loadConfiguration();
Application::initialize(self);
HTTPStreamFactory::registerFactory();
FTPStreamFactory::registerFactory();
}
void defineOptions(OptionSet& options)
{
Application::defineOptions(options);
options.addOption(
Option("help", "h", "Display help information on command line arguments.")
.required(false)
.repeatable(false)
.callback(OptionCallback<TextEncodingCompiler>(this, &TextEncodingCompiler::handleHelp)));
options.addOption(
Option("class-name", "c", "Specify the encoding class name.")
.required(true)
.repeatable(false)
.argument("className")
.callback(OptionCallback<TextEncodingCompiler>(this, &TextEncodingCompiler::handleClassName)));
options.addOption(
Option("encoding-name", "e", "Specify the encoding name.")
.required(true)
.repeatable(true)
.argument("encodingName")
.callback(OptionCallback<TextEncodingCompiler>(this, &TextEncodingCompiler::handleEncodingName)));
}
void handleHelp(const std::string& name, const std::string& value)
{
_helpRequested = true;
displayHelp();
stopOptionsProcessing();
}
void handleClassName(const std::string& name, const std::string& value)
{
_className = value;
}
void handleEncodingName(const std::string& name, const std::string& value)
{
_encodingNames.push_back(value);
}
void displayHelp()
{
HelpFormatter helpFormatter(options());
helpFormatter.setCommand(commandName());
helpFormatter.setUsage("OPTIONS");
helpFormatter.setHeader("Add some text here...");
helpFormatter.format(std::cout);
}
void defineProperty(const std::string& def)
{
std::string name;
std::string value;
std::string::size_type pos = def.find('=');
if (pos != std::string::npos)
{
name.assign(def, 0, pos);
value.assign(def, pos + 1, def.length() - pos);
}
else name = def;
config().setString(name, value);
}
void readMapping(std::istream& istr)
{
std::string line;
while (std::getline(istr, line))
{
std::string::size_type cpos = line.find('#');
if (cpos != std::string::npos) line.resize(cpos);
StringTokenizer tok(line, "\t", Poco::StringTokenizer::TOK_IGNORE_EMPTY | Poco::StringTokenizer::TOK_TRIM);
if (tok.count() == 2)
{
unsigned from;
unsigned to;
if (NumberParser::tryParseHex(tok[0], from) && NumberParser::tryParseHex(tok[1], to))
{
_mapping[from] = to;
if (from <= 0xFF)
_characterMap[from] = to;
else
_characterMap[from >> 8] = -2;
}
}
}
}
void reverseMapping()
{
for (std::map<int, int>::const_iterator it = _mapping.begin(); it != _mapping.end(); ++it)
{
_reverseMapping[it->second] = it->first;
}
}
void defineEncodingNames()
{
std::string names;
for (std::vector<std::string>::const_iterator it = _encodingNames.begin(); it != _encodingNames.end(); ++it)
{
names += "\t\"";
names += *it;
names += "\",\n";
}
_pVars->setString("ENCODING_NAMES", names);
}
void defineCharacterMap()
{
std::string charMap;
for (int i = 0; i < 256; i++)
{
if (i % 16 == 0 && i > 0) charMap += "\n";
if (i % 16 == 0) charMap += "\t";
if (_characterMap[i] >= 0)
{
charMap += "0x";
charMap += NumberFormatter::formatHex(_characterMap[i], 4);
}
else
{
charMap += NumberFormatter::format(_characterMap[i], 6);
}
charMap += ", ";
}
_pVars->setString("CHARACTER_MAP", charMap);
}
void defineEncodingTable(const std::map<int, int>& map, const std::string& name, int start)
{
std::string table = "\t";
int n = 0;
for (std::map<int, int>::const_iterator it = map.begin(); it != map.end(); ++it)
{
if (it->first >= start)
{
if (n % 8 == 0 && n > 0) table += "\n\t";
table += "{ 0x";
table += NumberFormatter::formatHex(it->first, 4);
table += ", 0x";
table += NumberFormatter::formatHex(it->second, 4);
table += " }, ";
n++;
}
}
if (table == "\t") table = "\t{ 0x0000, 0x0000 } // dummy entry";
_pVars->setString(name, table);
}
void defineVars(const std::string& source)
{
_pVars->setString("SOURCE", source);
_pVars->setString("CLASS", _className);
_pVars->setString("ENCODING", _encodingNames[0]);
_pVars->setInt("YEAR", Poco::DateTime().year());
defineEncodingNames();
defineCharacterMap();
defineEncodingTable(_mapping, "MAPPING_TABLE", 256);
defineEncodingTable(_reverseMapping, "REVERSE_MAPPING_TABLE", 0);
}
int main(const ArgVec& args)
{
if (!_helpRequested && args.size() > 0)
{
Poco::URI encodingURI(args[0]);
std::unique_ptr<std::istream> pEncodingStream(URIStreamOpener::defaultOpener().open(encodingURI));
readMapping(*pEncodingStream);
reverseMapping();
defineVars(encodingURI.toString());
std::string headerPath("include/Poco/");
headerPath += _className;
headerPath += ".h";
std::ofstream headerStream(headerPath.c_str());
if (headerStream.good())
headerStream << _pVars->expand(HEADER_TEMPLATE);
if (!headerStream.good()) throw Poco::CreateFileException(headerPath);
headerStream.close();
std::string implPath("src/");
implPath += _className;
implPath += ".cpp";
std::ofstream implStream(implPath.c_str());
if (implStream.good())
implStream << _pVars->expand(IMPL_TEMPLATE);
if (!implStream.good()) throw Poco::CreateFileException(implPath);
implStream.close();
}
return Application::EXIT_OK;
}
private:
bool _helpRequested;
int _characterMap[256];
std::map<int, int> _mapping;
std::map<int, int> _reverseMapping;
std::string _className;
std::vector<std::string> _encodingNames;
Poco::AutoPtr<Poco::Util::MapConfiguration> _pVars;
static const std::string HEADER_TEMPLATE;
static const std::string IMPL_TEMPLATE;
};
POCO_APP_MAIN(TextEncodingCompiler)
const std::string TextEncodingCompiler::HEADER_TEMPLATE(
"//\n"
"// ${CLASS}.h\n"
"//\n"
"// Library: Encodings\n"
"// Package: Encodings\n"
"// Module: ${CLASS}\n"
"//\n"
"// Definition of the Windows1252Encoding class.\n"
"//\n"
"// Copyright (c) ${YEAR}, Applied Informatics Software Engineering GmbH.\n"
"// and Contributors.\n"
"//\n"
"// SPDX-License-Identifier: BSL-1.0\n"
"//\n"
"\n"
"\n"
"#ifndef Encodings_${CLASS}_INCLUDED\n"
"#define Encodings_${CLASS}_INCLUDED\n"
"\n"
"\n"
"#include \"Poco/DoubleByteEncoding.h\"\n"
"\n"
"\n"
"namespace Poco {\n"
"\n"
"\n"
"class Encodings_API ${CLASS}: public DoubleByteEncoding\n"
"\t/// ${ENCODING} Encoding.\n"
"\t///\n"
"\t/// This text encoding class has been generated from\n"
"\t/// ${SOURCE}.\n"
"{\n"
"public:\n"
"\t${CLASS}();\n"
"\t~${CLASS}();\n"
"\t\n"
"private:\n"
"\tstatic const char* _names[];\n"
"\tstatic const CharacterMap _charMap;\n"
"\tstatic const Mapping _mappingTable[];\n"
"\tstatic const Mapping _reverseMappingTable[];\n"
"};\n"
"\n"
"\n"
"} // namespace Poco\n"
"\n"
"\n"
"#endif // Encodings_${CLASS}_INCLUDED\n"
);
const std::string TextEncodingCompiler::IMPL_TEMPLATE(
"//\n"
"// ${CLASS}.cpp\n"
"//\n"
"// Library: Encodings\n"
"// Package: Encodings\n"
"// Module: ${CLASS}\n"
"//\n"
"// Copyright (c) ${YEAR}, Applied Informatics Software Engineering GmbH.\n"
"// and Contributors.\n"
"//\n"
"// SPDX-License-Identifier: BSL-1.0\n"
"//\n"
"\n"
"\n"
"#include \"Poco/${CLASS}.h\"\n"
"\n"
"\n"
"namespace Poco {\n"
"\n"
"\n"
"const char* ${CLASS}::_names[] =\n"
"{\n"
"${ENCODING_NAMES}"
" NULL\n"
"};\n"
"\n"
"\n"
"const TextEncoding::CharacterMap ${CLASS}::_charMap = \n"
"{\n"
"${CHARACTER_MAP}\n"
"};\n"
"\n"
"\n"
"const DoubleByteEncoding::Mapping ${CLASS}::_mappingTable[] = {\n"
"${MAPPING_TABLE}\n"
"};\n"
"\n"
"\n"
"const DoubleByteEncoding::Mapping ${CLASS}::_reverseMappingTable[] = {\n"
"${REVERSE_MAPPING_TABLE}\n"
"};\n"
"\n"
"\n"
"${CLASS}::${CLASS}():\n"
" DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))\n"
"{\n"
"}\n"
"\n"
"\n"
"${CLASS}::~${CLASS}()\n"
"{\n"
"}\n"
"\n"
"\n"
"} // namespace Poco\n"
);

View File

@ -0,0 +1,16 @@
vc.project.guid = D7AAB91A-9AB8-457D-A329-02D1FA47CB7E
vc.project.name = Encodings
vc.project.target = Poco${vc.project.name}
vc.project.type = library
vc.project.pocobase = ..
vc.project.outdir = ${vc.project.pocobase}
vc.project.platforms = Win32, x64, WinCE
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = ${vc.project.name}_vs90.vcproj
vc.project.compiler.include = ..\\Foundation\\include
vc.project.compiler.defines =
vc.project.compiler.defines.shared = ${vc.project.name}_EXPORTS
vc.project.compiler.defines.debug_shared = ${vc.project.compiler.defines.shared}
vc.project.compiler.defines.release_shared = ${vc.project.compiler.defines.shared}
vc.solution.create = true
vc.solution.include = testsuite\\TestSuite

40
Encodings/Makefile Normal file
View File

@ -0,0 +1,40 @@
#
# Makefile
#
# Makefile for Poco Encodings
#
include $(POCO_BASE)/build/rules/global
objects = \
DoubleByteEncoding \
Encodings \
ISO8859_10Encoding \
ISO8859_11Encoding \
ISO8859_13Encoding \
ISO8859_14Encoding \
ISO8859_16Encoding \
ISO8859_3Encoding \
ISO8859_4Encoding \
ISO8859_5Encoding \
ISO8859_6Encoding \
ISO8859_7Encoding \
ISO8859_8Encoding \
ISO8859_9Encoding \
Windows1253Encoding \
Windows1254Encoding \
Windows1255Encoding \
Windows1256Encoding \
Windows1257Encoding \
Windows1258Encoding \
Windows874Encoding \
Windows932Encoding \
Windows936Encoding \
Windows949Encoding \
Windows950Encoding
target = PocoEncodings
target_version = $(LIBVERSION)
target_libs = PocoFoundation
include $(POCO_BASE)/build/rules/lib

25
Encodings/generateEncodings.sh Executable file
View File

@ -0,0 +1,25 @@
#! /bin/bash
COMPILER=Compiler/bin/Darwin/x86_64/tec
WINDOWS_CODEPAGES="874 932 936 949 950 1253 1254 1255 1256 1257 1258"
for cp in $WINDOWS_CODEPAGES ;
do
echo Generating encoding for Windows Code Page ${cp}...
$COMPILER http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP${cp}.TXT -c Windows${cp}Encoding -e windows-${cp} -e Windows-${cp} -e cp${cp} -e CP${cp}
done
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT -c ISO8859_3Encoding -e ISO-8859-3 -e Latin3 -e Latin-3
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT -c ISO8859_4Encoding -e ISO-8859-4 -e Latin4 -e Latin-4
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT -c ISO8859_5Encoding -e ISO-8859-5
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT -c ISO8859_6Encoding -e ISO-8859-6
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT -c ISO8859_7Encoding -e ISO-8859-7
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT -c ISO8859_8Encoding -e ISO-8859-8
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT -c ISO8859_9Encoding -e ISO-8859-9 -e Latin5 -e Latin-5
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT -c ISO8859_10Encoding -e ISO-8859-10 -e Latin6 -e Latin-6
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT -c ISO8859_11Encoding -e ISO-8859-11
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT -c ISO8859_13Encoding -e ISO-8859-13 -e Latin7 -e Latin-7
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT -c ISO8859_14Encoding -e ISO-8859-14 -e Latin8 -e Latin-8
$COMPILER http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT -c ISO8859_16Encoding -e ISO-8859-16 -e Latin10 -e Latin-10

View File

@ -0,0 +1,122 @@
//
// DoubleByteEncoding.h
//
// Library: Encodings
// Package: Encodings
// Module: DoubleByteEncoding
//
// Definition of the DoubleByteEncoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_DoubleByteEncoding_INCLUDED
#define Encodings_DoubleByteEncoding_INCLUDED
#include "Poco/Encodings.h"
#include "Poco/TextEncoding.h"
namespace Poco {
class Encodings_API DoubleByteEncoding: public TextEncoding
/// This abstract class is a base class for various double-byte character
/// set (DBCS) encodings.
///
/// Double-byte encodings are variants of multi-byte encodings
/// where (Unicode) each code point is represented by one or
/// two bytes. Unicode code points are restricted to the
/// Basic Multilingual Plane.
///
/// Subclasses must provide encoding names, a static CharacterMap, as well
/// as static Mapping and reverse Mapping tables, and provide these to the
/// DoubleByteEncoding constructor.
{
public:
struct Mapping
{
Poco::UInt16 from;
Poco::UInt16 to;
};
// TextEncoding
const char* canonicalName() const;
bool isA(const std::string& encodingName) const;
const CharacterMap& characterMap() const;
int convert(const unsigned char* bytes) const;
int convert(int ch, unsigned char* bytes, int length) const;
int queryConvert(const unsigned char* bytes, int length) const;
int sequenceLength(const unsigned char* bytes, int length) const;
protected:
DoubleByteEncoding(const char** names, const TextEncoding::CharacterMap& charMap, const Mapping mappingTable[], std::size_t mappingTableSize, const Mapping reverseMappingTable[], std::size_t reverseMappingTableSize);
/// Creates a DoubleByteEncoding using the given mapping and reverse-mapping tables.
///
/// names must be a static array declared in the derived class,
/// containing the names of this encoding, declared as:
///
/// const char* MyEncoding::_names[] =
/// {
/// "myencoding",
/// "MyEncoding",
/// NULL
/// };
///
/// The first entry in names must be the canonical name.
///
/// charMap must be a static CharacterMap giving information about double-byte
/// character sequences.
///
/// For each mappingTable item, from must be a value in range 0x0100 to
// 0xFFFF for double-byte mappings, which the most significant (upper) byte
/// representing the first character in the sequence and the lower byte
/// representing the second character in the sequence.
///
/// For each reverseMappingTable item, from must be Unicode code point from the
/// Basic Multilingual Plane, and to is a one-byte or two-byte sequence.
/// As with mappingTable, a one-byte sequence is in range 0x00 to 0xFF, and a
/// two-byte sequence is in range 0x0100 to 0xFFFF.
///
/// Unicode code points are restricted to the Basic Multilingual Plane
/// (code points 0x0000 to 0xFFFF).
///
/// Items in both tables must be sorted by from, in ascending order.
~DoubleByteEncoding();
/// Destroys the DoubleByteEncoding.
int map(Poco::UInt16 encoded) const;
/// Maps a double-byte encoded character to its Unicode code point.
///
/// Returns the Unicode code point, or -1 if the encoded character is bad
/// and cannot be mapped.
int reverseMap(int cp) const;
/// Maps a Unicode code point to its double-byte representation.
///
/// Returns -1 if the code point cannot be mapped, otherwise
/// a value in range 0 to 0xFF for single-byte mappings, or
/// 0x0100 to 0xFFFF for double-byte mappings.
private:
DoubleByteEncoding();
const char** _names;
const TextEncoding::CharacterMap& _charMap;
const Mapping* _mappingTable;
const std::size_t _mappingTableSize;
const Mapping* _reverseMappingTable;
const std::size_t _reverseMappingTableSize;
};
} // namespace Poco
#endif // Encodings_DoubleByteEncoding_INCLUDED

View File

@ -0,0 +1,73 @@
//
// Encodings.h
//
// Library: Encodings
// Package: Encodings
// Module: Encodings
//
// Basic definitions for the Poco Encodings library.
// This file must be the first file included by every other Encodings
// header file.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Encodings_INCLUDED
#define Encodings_Encodings_INCLUDED
#include "Poco/Foundation.h"
//
// The following block is the standard way of creating macros which make exporting
// from a DLL simpler. All files within this DLL are compiled with the Encodings_EXPORTS
// symbol defined on the command line. this symbol should not be defined on any project
// that uses this DLL. This way any other project whose source files include this file see
// Encodings_API functions as being imported from a DLL, whereas this DLL sees symbols
// defined with this macro as being exported.
//
#if defined(_WIN32) && defined(POCO_DLL)
#if defined(Encodings_EXPORTS)
#define Encodings_API __declspec(dllexport)
#else
#define Encodings_API __declspec(dllimport)
#endif
#endif
#if !defined(Encodings_API)
#if !defined(POCO_NO_GCC_API_ATTRIBUTE) && defined (__GNUC__) && (__GNUC__ >= 4)
#define Encodings_API __attribute__ ((visibility ("default")))
#else
#define Encodings_API
#endif
#endif
//
// Automatically link Encodings library.
//
#if defined(_MSC_VER)
#if !defined(POCO_NO_AUTOMATIC_LIBS) && !defined(Encodings_EXPORTS)
#pragma comment(lib, "PocoEncodings" POCO_LIB_SUFFIX)
#endif
#endif
namespace Poco {
void Encodings_API registerExtraEncodings();
/// Registers the character encodings from the Encodings library
/// with the TextEncoding class.
} // namespace Poco
#endif // Encodings_Encodings_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_10Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_10Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_10Encoding_INCLUDED
#define Encodings_ISO8859_10Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_10Encoding: public DoubleByteEncoding
/// ISO-8859-10 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-10.TXT.
{
public:
ISO8859_10Encoding();
~ISO8859_10Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_10Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_11Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_11Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_11Encoding_INCLUDED
#define Encodings_ISO8859_11Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_11Encoding: public DoubleByteEncoding
/// ISO-8859-11 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-11.TXT.
{
public:
ISO8859_11Encoding();
~ISO8859_11Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_11Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_13Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_13Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_13Encoding_INCLUDED
#define Encodings_ISO8859_13Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_13Encoding: public DoubleByteEncoding
/// ISO-8859-13 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-13.TXT.
{
public:
ISO8859_13Encoding();
~ISO8859_13Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_13Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_14Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_14Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_14Encoding_INCLUDED
#define Encodings_ISO8859_14Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_14Encoding: public DoubleByteEncoding
/// ISO-8859-14 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-14.TXT.
{
public:
ISO8859_14Encoding();
~ISO8859_14Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_14Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_16Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_16Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_16Encoding_INCLUDED
#define Encodings_ISO8859_16Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_16Encoding: public DoubleByteEncoding
/// ISO-8859-16 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT.
{
public:
ISO8859_16Encoding();
~ISO8859_16Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_16Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_3Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_3Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_3Encoding_INCLUDED
#define Encodings_ISO8859_3Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_3Encoding: public DoubleByteEncoding
/// ISO-8859-3 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-3.TXT.
{
public:
ISO8859_3Encoding();
~ISO8859_3Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_3Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_4Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_4Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_4Encoding_INCLUDED
#define Encodings_ISO8859_4Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_4Encoding: public DoubleByteEncoding
/// ISO-8859-4 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-4.TXT.
{
public:
ISO8859_4Encoding();
~ISO8859_4Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_4Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_5Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_5Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_5Encoding_INCLUDED
#define Encodings_ISO8859_5Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_5Encoding: public DoubleByteEncoding
/// ISO-8859-5 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-5.TXT.
{
public:
ISO8859_5Encoding();
~ISO8859_5Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_5Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_6Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_6Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_6Encoding_INCLUDED
#define Encodings_ISO8859_6Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_6Encoding: public DoubleByteEncoding
/// ISO-8859-6 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-6.TXT.
{
public:
ISO8859_6Encoding();
~ISO8859_6Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_6Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_7Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_7Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_7Encoding_INCLUDED
#define Encodings_ISO8859_7Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_7Encoding: public DoubleByteEncoding
/// ISO-8859-7 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-7.TXT.
{
public:
ISO8859_7Encoding();
~ISO8859_7Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_7Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_8Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_8Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_8Encoding_INCLUDED
#define Encodings_ISO8859_8Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_8Encoding: public DoubleByteEncoding
/// ISO-8859-8 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-8.TXT.
{
public:
ISO8859_8Encoding();
~ISO8859_8Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_8Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// ISO8859_9Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_9Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_ISO8859_9Encoding_INCLUDED
#define Encodings_ISO8859_9Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API ISO8859_9Encoding: public DoubleByteEncoding
/// ISO-8859-9 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-9.TXT.
{
public:
ISO8859_9Encoding();
~ISO8859_9Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_ISO8859_9Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows1253Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows1253Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows1253Encoding_INCLUDED
#define Encodings_Windows1253Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows1253Encoding: public DoubleByteEncoding
/// windows-1253 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1253.TXT.
{
public:
Windows1253Encoding();
~Windows1253Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows1253Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows1254Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows1254Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows1254Encoding_INCLUDED
#define Encodings_Windows1254Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows1254Encoding: public DoubleByteEncoding
/// windows-1254 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1254.TXT.
{
public:
Windows1254Encoding();
~Windows1254Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows1254Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows1255Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows1255Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows1255Encoding_INCLUDED
#define Encodings_Windows1255Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows1255Encoding: public DoubleByteEncoding
/// windows-1255 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1255.TXT.
{
public:
Windows1255Encoding();
~Windows1255Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows1255Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows1256Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows1256Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows1256Encoding_INCLUDED
#define Encodings_Windows1256Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows1256Encoding: public DoubleByteEncoding
/// windows-1256 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1256.TXT.
{
public:
Windows1256Encoding();
~Windows1256Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows1256Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows1257Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows1257Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows1257Encoding_INCLUDED
#define Encodings_Windows1257Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows1257Encoding: public DoubleByteEncoding
/// windows-1257 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT.
{
public:
Windows1257Encoding();
~Windows1257Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows1257Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows1258Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows1258Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows1258Encoding_INCLUDED
#define Encodings_Windows1258Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows1258Encoding: public DoubleByteEncoding
/// windows-1258 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1258.TXT.
{
public:
Windows1258Encoding();
~Windows1258Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows1258Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows874Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows874Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows874Encoding_INCLUDED
#define Encodings_Windows874Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows874Encoding: public DoubleByteEncoding
/// windows-874 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP874.TXT.
{
public:
Windows874Encoding();
~Windows874Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows874Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows932Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows932Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows932Encoding_INCLUDED
#define Encodings_Windows932Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows932Encoding: public DoubleByteEncoding
/// windows-932 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP932.TXT.
{
public:
Windows932Encoding();
~Windows932Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows932Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows936Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows936Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows936Encoding_INCLUDED
#define Encodings_Windows936Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows936Encoding: public DoubleByteEncoding
/// windows-936 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP936.TXT.
{
public:
Windows936Encoding();
~Windows936Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows936Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows949Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows949Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows949Encoding_INCLUDED
#define Encodings_Windows949Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows949Encoding: public DoubleByteEncoding
/// windows-949 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP949.TXT.
{
public:
Windows949Encoding();
~Windows949Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows949Encoding_INCLUDED

View File

@ -0,0 +1,48 @@
//
// Windows950Encoding.h
//
// Library: Encodings
// Package: Encodings
// Module: Windows950Encoding
//
// Definition of the Windows1252Encoding class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#ifndef Encodings_Windows950Encoding_INCLUDED
#define Encodings_Windows950Encoding_INCLUDED
#include "Poco/DoubleByteEncoding.h"
namespace Poco {
class Encodings_API Windows950Encoding: public DoubleByteEncoding
/// windows-950 Encoding.
///
/// This text encoding class has been generated from
/// http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP950.TXT.
{
public:
Windows950Encoding();
~Windows950Encoding();
private:
static const char* _names[];
static const CharacterMap _charMap;
static const Mapping _mappingTable[];
static const Mapping _reverseMappingTable[];
};
} // namespace Poco
#endif // Encodings_Windows950Encoding_INCLUDED

View File

@ -0,0 +1,168 @@
//
// DoubleByteEncoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: DoubleByteEncoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/DoubleByteEncoding.h"
#include "Poco/String.h"
#include <algorithm>
namespace Poco {
DoubleByteEncoding::DoubleByteEncoding(const char* names[], const TextEncoding::CharacterMap& charMap, const Mapping mappingTable[], std::size_t mappingTableSize, const Mapping reverseMappingTable[], std::size_t reverseMappingTableSize):
_names(names),
_charMap(charMap),
_mappingTable(mappingTable),
_mappingTableSize(mappingTableSize),
_reverseMappingTable(reverseMappingTable),
_reverseMappingTableSize(reverseMappingTableSize)
{
}
DoubleByteEncoding::~DoubleByteEncoding()
{
}
const char* DoubleByteEncoding::canonicalName() const
{
return _names[0];
}
bool DoubleByteEncoding::isA(const std::string& encodingName) const
{
for (const char** name = _names; *name; ++name)
{
if (Poco::icompare(encodingName, *name) == 0)
return true;
}
return false;
}
const TextEncoding::CharacterMap& DoubleByteEncoding::characterMap() const
{
return _charMap;
}
int DoubleByteEncoding::convert(const unsigned char* bytes) const
{
int n = _charMap[*bytes];
switch (n)
{
case -1:
return -1;
case -2:
return map(static_cast<Poco::UInt16>(bytes[0] << 8) | bytes[1]);
default:
return n;
}
}
int DoubleByteEncoding::convert(int ch, unsigned char* bytes, int length) const
{
int n = reverseMap(ch);
if (n < 0) return 0;
if (!bytes || !length)
{
return n > 0xFF ? 2 : 1;
}
if (n > 0xFF && length < 2) return 0;
if (n > 0xFF)
{
bytes[0] = static_cast<unsigned char>(n >> 8);
bytes[1] = static_cast<unsigned char>(n & 0xFF);
return 2;
}
else
{
bytes[0] = static_cast<unsigned char>(n);
return 1;
}
}
int DoubleByteEncoding::queryConvert(const unsigned char* bytes, int length) const
{
int n = _charMap[*bytes];
switch (n)
{
case -1:
return -1;
case -2:
if (length >= 2)
return map((bytes[0] << 8) | bytes[1]);
else
return -2;
default:
return n;
}
}
int DoubleByteEncoding::sequenceLength(const unsigned char* bytes, int length) const
{
if (1 <= length)
{
int cc = _charMap[*bytes];
if (cc >= 0)
return 1;
else if (cc < -1)
return -cc;
else
return -1;
}
else return -1;
}
struct MappingLessThan
{
bool operator () (const DoubleByteEncoding::Mapping& mapping, const Poco::UInt16& key) const
{
return mapping.from < key;
}
};
int DoubleByteEncoding::map(Poco::UInt16 encoded) const
{
const Mapping* begin = _mappingTable;
const Mapping* end = begin + _mappingTableSize;
const Mapping* it = std::lower_bound(begin, end, encoded, MappingLessThan());
if (it != end && it->from == encoded)
return it->to;
else
return -1;
}
int DoubleByteEncoding::reverseMap(int cp) const
{
const Mapping* begin = _reverseMappingTable;
const Mapping* end = begin + _reverseMappingTableSize;
const Mapping* it = std::lower_bound(begin, end, static_cast<Poco::UInt16>(cp), MappingLessThan());
if (it != end && it->from == cp)
return it->to;
else
return -1;
}
} // namespace Poco

View File

@ -0,0 +1,74 @@
//
// Encodings.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Encodings
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Encodings.h"
#include "Poco/TextEncoding.h"
#include "Poco/ISO8859_10Encoding.h"
#include "Poco/ISO8859_11Encoding.h"
#include "Poco/ISO8859_13Encoding.h"
#include "Poco/ISO8859_14Encoding.h"
#include "Poco/ISO8859_16Encoding.h"
#include "Poco/ISO8859_3Encoding.h"
#include "Poco/ISO8859_4Encoding.h"
#include "Poco/ISO8859_5Encoding.h"
#include "Poco/ISO8859_6Encoding.h"
#include "Poco/ISO8859_7Encoding.h"
#include "Poco/ISO8859_8Encoding.h"
#include "Poco/ISO8859_9Encoding.h"
#include "Poco/Windows1253Encoding.h"
#include "Poco/Windows1254Encoding.h"
#include "Poco/Windows1255Encoding.h"
#include "Poco/Windows1256Encoding.h"
#include "Poco/Windows1257Encoding.h"
#include "Poco/Windows1258Encoding.h"
#include "Poco/Windows874Encoding.h"
#include "Poco/Windows932Encoding.h"
#include "Poco/Windows936Encoding.h"
#include "Poco/Windows949Encoding.h"
#include "Poco/Windows950Encoding.h"
namespace Poco {
void registerExtraEncodings()
{
TextEncoding::add(new ISO8859_10Encoding);
TextEncoding::add(new ISO8859_11Encoding);
TextEncoding::add(new ISO8859_13Encoding);
TextEncoding::add(new ISO8859_14Encoding);
TextEncoding::add(new ISO8859_16Encoding);
TextEncoding::add(new ISO8859_3Encoding);
TextEncoding::add(new ISO8859_4Encoding);
TextEncoding::add(new ISO8859_5Encoding);
TextEncoding::add(new ISO8859_6Encoding);
TextEncoding::add(new ISO8859_7Encoding);
TextEncoding::add(new ISO8859_8Encoding);
TextEncoding::add(new ISO8859_9Encoding);
TextEncoding::add(new Windows1253Encoding);
TextEncoding::add(new Windows1254Encoding);
TextEncoding::add(new Windows1255Encoding);
TextEncoding::add(new Windows1256Encoding);
TextEncoding::add(new Windows1257Encoding);
TextEncoding::add(new Windows1258Encoding);
TextEncoding::add(new Windows874Encoding);
TextEncoding::add(new Windows932Encoding);
TextEncoding::add(new Windows936Encoding);
TextEncoding::add(new Windows949Encoding);
TextEncoding::add(new Windows950Encoding);
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_10Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_10Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_10Encoding.h"
namespace Poco {
const char* ISO8859_10Encoding::_names[] =
{
"ISO-8859-10",
"Latin6",
"Latin-6",
NULL
};
const TextEncoding::CharacterMap ISO8859_10Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x0104, 0x0112, 0x0122, 0x012A, 0x0128, 0x0136, 0x00A7, 0x013B, 0x0110, 0x0160, 0x0166, 0x017D, 0x00AD, 0x016A, 0x014A,
0x00B0, 0x0105, 0x0113, 0x0123, 0x012B, 0x0129, 0x0137, 0x00B7, 0x013C, 0x0111, 0x0161, 0x0167, 0x017E, 0x2015, 0x016B, 0x014B,
0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, 0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x00CF,
0x00D0, 0x0145, 0x014C, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x0168, 0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x00DE, 0x00DF,
0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, 0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x00EF,
0x00F0, 0x0146, 0x014D, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x0169, 0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x0138,
};
const DoubleByteEncoding::Mapping ISO8859_10Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_10Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A7, 0x00A7 }, { 0x00AD, 0x00AD }, { 0x00B0, 0x00B0 }, { 0x00B7, 0x00B7 }, { 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C3, 0x00C3 },
{ 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00C6 }, { 0x00C9, 0x00C9 }, { 0x00CB, 0x00CB }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF },
{ 0x00D0, 0x00D0 }, { 0x00D3, 0x00D3 }, { 0x00D4, 0x00D4 }, { 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D8, 0x00D8 }, { 0x00DA, 0x00DA }, { 0x00DB, 0x00DB },
{ 0x00DC, 0x00DC }, { 0x00DD, 0x00DD }, { 0x00DE, 0x00DE }, { 0x00DF, 0x00DF }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 }, { 0x00E3, 0x00E3 }, { 0x00E4, 0x00E4 },
{ 0x00E5, 0x00E5 }, { 0x00E6, 0x00E6 }, { 0x00E9, 0x00E9 }, { 0x00EB, 0x00EB }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F0, 0x00F0 },
{ 0x00F3, 0x00F3 }, { 0x00F4, 0x00F4 }, { 0x00F5, 0x00F5 }, { 0x00F6, 0x00F6 }, { 0x00F8, 0x00F8 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB }, { 0x00FC, 0x00FC },
{ 0x00FD, 0x00FD }, { 0x00FE, 0x00FE }, { 0x0100, 0x00C0 }, { 0x0101, 0x00E0 }, { 0x0104, 0x00A1 }, { 0x0105, 0x00B1 }, { 0x010C, 0x00C8 }, { 0x010D, 0x00E8 },
{ 0x0110, 0x00A9 }, { 0x0111, 0x00B9 }, { 0x0112, 0x00A2 }, { 0x0113, 0x00B2 }, { 0x0116, 0x00CC }, { 0x0117, 0x00EC }, { 0x0118, 0x00CA }, { 0x0119, 0x00EA },
{ 0x0122, 0x00A3 }, { 0x0123, 0x00B3 }, { 0x0128, 0x00A5 }, { 0x0129, 0x00B5 }, { 0x012A, 0x00A4 }, { 0x012B, 0x00B4 }, { 0x012E, 0x00C7 }, { 0x012F, 0x00E7 },
{ 0x0136, 0x00A6 }, { 0x0137, 0x00B6 }, { 0x0138, 0x00FF }, { 0x013B, 0x00A8 }, { 0x013C, 0x00B8 }, { 0x0145, 0x00D1 }, { 0x0146, 0x00F1 }, { 0x014A, 0x00AF },
{ 0x014B, 0x00BF }, { 0x014C, 0x00D2 }, { 0x014D, 0x00F2 }, { 0x0160, 0x00AA }, { 0x0161, 0x00BA }, { 0x0166, 0x00AB }, { 0x0167, 0x00BB }, { 0x0168, 0x00D7 },
{ 0x0169, 0x00F7 }, { 0x016A, 0x00AE }, { 0x016B, 0x00BE }, { 0x0172, 0x00D9 }, { 0x0173, 0x00F9 }, { 0x017D, 0x00AC }, { 0x017E, 0x00BC }, { 0x2015, 0x00BD },
};
ISO8859_10Encoding::ISO8859_10Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_10Encoding::~ISO8859_10Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,100 @@
//
// ISO8859_11Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_11Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_11Encoding.h"
namespace Poco {
const char* ISO8859_11Encoding::_names[] =
{
"ISO-8859-11",
NULL
};
const TextEncoding::CharacterMap ISO8859_11Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F,
0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F,
0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F,
0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, 0x0E38, 0x0E39, 0x0E3A, -1, -1, -1, -1, 0x0E3F,
0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F,
0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, -1, -1, -1, -1,
};
const DoubleByteEncoding::Mapping ISO8859_11Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_11Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x0E01, 0x00A1 }, { 0x0E02, 0x00A2 }, { 0x0E03, 0x00A3 }, { 0x0E04, 0x00A4 }, { 0x0E05, 0x00A5 }, { 0x0E06, 0x00A6 }, { 0x0E07, 0x00A7 },
{ 0x0E08, 0x00A8 }, { 0x0E09, 0x00A9 }, { 0x0E0A, 0x00AA }, { 0x0E0B, 0x00AB }, { 0x0E0C, 0x00AC }, { 0x0E0D, 0x00AD }, { 0x0E0E, 0x00AE }, { 0x0E0F, 0x00AF },
{ 0x0E10, 0x00B0 }, { 0x0E11, 0x00B1 }, { 0x0E12, 0x00B2 }, { 0x0E13, 0x00B3 }, { 0x0E14, 0x00B4 }, { 0x0E15, 0x00B5 }, { 0x0E16, 0x00B6 }, { 0x0E17, 0x00B7 },
{ 0x0E18, 0x00B8 }, { 0x0E19, 0x00B9 }, { 0x0E1A, 0x00BA }, { 0x0E1B, 0x00BB }, { 0x0E1C, 0x00BC }, { 0x0E1D, 0x00BD }, { 0x0E1E, 0x00BE }, { 0x0E1F, 0x00BF },
{ 0x0E20, 0x00C0 }, { 0x0E21, 0x00C1 }, { 0x0E22, 0x00C2 }, { 0x0E23, 0x00C3 }, { 0x0E24, 0x00C4 }, { 0x0E25, 0x00C5 }, { 0x0E26, 0x00C6 }, { 0x0E27, 0x00C7 },
{ 0x0E28, 0x00C8 }, { 0x0E29, 0x00C9 }, { 0x0E2A, 0x00CA }, { 0x0E2B, 0x00CB }, { 0x0E2C, 0x00CC }, { 0x0E2D, 0x00CD }, { 0x0E2E, 0x00CE }, { 0x0E2F, 0x00CF },
{ 0x0E30, 0x00D0 }, { 0x0E31, 0x00D1 }, { 0x0E32, 0x00D2 }, { 0x0E33, 0x00D3 }, { 0x0E34, 0x00D4 }, { 0x0E35, 0x00D5 }, { 0x0E36, 0x00D6 }, { 0x0E37, 0x00D7 },
{ 0x0E38, 0x00D8 }, { 0x0E39, 0x00D9 }, { 0x0E3A, 0x00DA }, { 0x0E3F, 0x00DF }, { 0x0E40, 0x00E0 }, { 0x0E41, 0x00E1 }, { 0x0E42, 0x00E2 }, { 0x0E43, 0x00E3 },
{ 0x0E44, 0x00E4 }, { 0x0E45, 0x00E5 }, { 0x0E46, 0x00E6 }, { 0x0E47, 0x00E7 }, { 0x0E48, 0x00E8 }, { 0x0E49, 0x00E9 }, { 0x0E4A, 0x00EA }, { 0x0E4B, 0x00EB },
{ 0x0E4C, 0x00EC }, { 0x0E4D, 0x00ED }, { 0x0E4E, 0x00EE }, { 0x0E4F, 0x00EF }, { 0x0E50, 0x00F0 }, { 0x0E51, 0x00F1 }, { 0x0E52, 0x00F2 }, { 0x0E53, 0x00F3 },
{ 0x0E54, 0x00F4 }, { 0x0E55, 0x00F5 }, { 0x0E56, 0x00F6 }, { 0x0E57, 0x00F7 }, { 0x0E58, 0x00F8 }, { 0x0E59, 0x00F9 }, { 0x0E5A, 0x00FA }, { 0x0E5B, 0x00FB },
};
ISO8859_11Encoding::ISO8859_11Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_11Encoding::~ISO8859_11Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_13Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_13Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_13Encoding.h"
namespace Poco {
const char* ISO8859_13Encoding::_names[] =
{
"ISO-8859-13",
"Latin7",
"Latin-7",
NULL
};
const TextEncoding::CharacterMap ISO8859_13Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x201D, 0x00A2, 0x00A3, 0x00A4, 0x201E, 0x00A6, 0x00A7, 0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x201C, 0x00B5, 0x00B6, 0x00B7, 0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6,
0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B,
0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, 0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF,
0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, 0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C,
0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x2019,
};
const DoubleByteEncoding::Mapping ISO8859_13Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_13Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A9, 0x00A9 }, { 0x00AB, 0x00AB },
{ 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B5, 0x00B5 },
{ 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 }, { 0x00B9, 0x00B9 }, { 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00C4, 0x00C4 },
{ 0x00C5, 0x00C5 }, { 0x00C6, 0x00AF }, { 0x00C9, 0x00C9 }, { 0x00D3, 0x00D3 }, { 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D7, 0x00D7 }, { 0x00D8, 0x00A8 },
{ 0x00DC, 0x00DC }, { 0x00DF, 0x00DF }, { 0x00E4, 0x00E4 }, { 0x00E5, 0x00E5 }, { 0x00E6, 0x00BF }, { 0x00E9, 0x00E9 }, { 0x00F3, 0x00F3 }, { 0x00F5, 0x00F5 },
{ 0x00F6, 0x00F6 }, { 0x00F7, 0x00F7 }, { 0x00F8, 0x00B8 }, { 0x00FC, 0x00FC }, { 0x0100, 0x00C2 }, { 0x0101, 0x00E2 }, { 0x0104, 0x00C0 }, { 0x0105, 0x00E0 },
{ 0x0106, 0x00C3 }, { 0x0107, 0x00E3 }, { 0x010C, 0x00C8 }, { 0x010D, 0x00E8 }, { 0x0112, 0x00C7 }, { 0x0113, 0x00E7 }, { 0x0116, 0x00CB }, { 0x0117, 0x00EB },
{ 0x0118, 0x00C6 }, { 0x0119, 0x00E6 }, { 0x0122, 0x00CC }, { 0x0123, 0x00EC }, { 0x012A, 0x00CE }, { 0x012B, 0x00EE }, { 0x012E, 0x00C1 }, { 0x012F, 0x00E1 },
{ 0x0136, 0x00CD }, { 0x0137, 0x00ED }, { 0x013B, 0x00CF }, { 0x013C, 0x00EF }, { 0x0141, 0x00D9 }, { 0x0142, 0x00F9 }, { 0x0143, 0x00D1 }, { 0x0144, 0x00F1 },
{ 0x0145, 0x00D2 }, { 0x0146, 0x00F2 }, { 0x014C, 0x00D4 }, { 0x014D, 0x00F4 }, { 0x0156, 0x00AA }, { 0x0157, 0x00BA }, { 0x015A, 0x00DA }, { 0x015B, 0x00FA },
{ 0x0160, 0x00D0 }, { 0x0161, 0x00F0 }, { 0x016A, 0x00DB }, { 0x016B, 0x00FB }, { 0x0172, 0x00D8 }, { 0x0173, 0x00F8 }, { 0x0179, 0x00CA }, { 0x017A, 0x00EA },
{ 0x017B, 0x00DD }, { 0x017C, 0x00FD }, { 0x017D, 0x00DE }, { 0x017E, 0x00FE }, { 0x2019, 0x00FF }, { 0x201C, 0x00B4 }, { 0x201D, 0x00A1 }, { 0x201E, 0x00A5 },
};
ISO8859_13Encoding::ISO8859_13Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_13Encoding::~ISO8859_13Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_14Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_14Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_14Encoding.h"
namespace Poco {
const char* ISO8859_14Encoding::_names[] =
{
"ISO-8859-14",
"Latin8",
"Latin-8",
NULL
};
const TextEncoding::CharacterMap ISO8859_14Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x1E02, 0x1E03, 0x00A3, 0x010A, 0x010B, 0x1E0A, 0x00A7, 0x1E80, 0x00A9, 0x1E82, 0x1E0B, 0x1EF2, 0x00AD, 0x00AE, 0x0178,
0x1E1E, 0x1E1F, 0x0120, 0x0121, 0x1E40, 0x1E41, 0x00B6, 0x1E56, 0x1E81, 0x1E57, 0x1E83, 0x1E60, 0x1EF3, 0x1E84, 0x1E85, 0x1E61,
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
0x0174, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x1E6A, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x00DD, 0x0176, 0x00DF,
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
0x0175, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x1E6B, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x0177, 0x00FF,
};
const DoubleByteEncoding::Mapping ISO8859_14Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_14Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A3, 0x00A3 }, { 0x00A7, 0x00A7 }, { 0x00A9, 0x00A9 }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00B6, 0x00B6 }, { 0x00C0, 0x00C0 },
{ 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C3, 0x00C3 }, { 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00C6 }, { 0x00C7, 0x00C7 }, { 0x00C8, 0x00C8 },
{ 0x00C9, 0x00C9 }, { 0x00CA, 0x00CA }, { 0x00CB, 0x00CB }, { 0x00CC, 0x00CC }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF }, { 0x00D1, 0x00D1 },
{ 0x00D2, 0x00D2 }, { 0x00D3, 0x00D3 }, { 0x00D4, 0x00D4 }, { 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D8, 0x00D8 }, { 0x00D9, 0x00D9 }, { 0x00DA, 0x00DA },
{ 0x00DB, 0x00DB }, { 0x00DC, 0x00DC }, { 0x00DD, 0x00DD }, { 0x00DF, 0x00DF }, { 0x00E0, 0x00E0 }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 }, { 0x00E3, 0x00E3 },
{ 0x00E4, 0x00E4 }, { 0x00E5, 0x00E5 }, { 0x00E6, 0x00E6 }, { 0x00E7, 0x00E7 }, { 0x00E8, 0x00E8 }, { 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA }, { 0x00EB, 0x00EB },
{ 0x00EC, 0x00EC }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F1, 0x00F1 }, { 0x00F2, 0x00F2 }, { 0x00F3, 0x00F3 }, { 0x00F4, 0x00F4 },
{ 0x00F5, 0x00F5 }, { 0x00F6, 0x00F6 }, { 0x00F8, 0x00F8 }, { 0x00F9, 0x00F9 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB }, { 0x00FC, 0x00FC }, { 0x00FD, 0x00FD },
{ 0x00FF, 0x00FF }, { 0x010A, 0x00A4 }, { 0x010B, 0x00A5 }, { 0x0120, 0x00B2 }, { 0x0121, 0x00B3 }, { 0x0174, 0x00D0 }, { 0x0175, 0x00F0 }, { 0x0176, 0x00DE },
{ 0x0177, 0x00FE }, { 0x0178, 0x00AF }, { 0x1E02, 0x00A1 }, { 0x1E03, 0x00A2 }, { 0x1E0A, 0x00A6 }, { 0x1E0B, 0x00AB }, { 0x1E1E, 0x00B0 }, { 0x1E1F, 0x00B1 },
{ 0x1E40, 0x00B4 }, { 0x1E41, 0x00B5 }, { 0x1E56, 0x00B7 }, { 0x1E57, 0x00B9 }, { 0x1E60, 0x00BB }, { 0x1E61, 0x00BF }, { 0x1E6A, 0x00D7 }, { 0x1E6B, 0x00F7 },
{ 0x1E80, 0x00A8 }, { 0x1E81, 0x00B8 }, { 0x1E82, 0x00AA }, { 0x1E83, 0x00BA }, { 0x1E84, 0x00BD }, { 0x1E85, 0x00BE }, { 0x1EF2, 0x00AC }, { 0x1EF3, 0x00BC },
};
ISO8859_14Encoding::ISO8859_14Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_14Encoding::~ISO8859_14Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_16Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_16Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_16Encoding.h"
namespace Poco {
const char* ISO8859_16Encoding::_names[] =
{
"ISO-8859-16",
"Latin10",
"Latin-10",
NULL
};
const TextEncoding::CharacterMap ISO8859_16Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x0104, 0x0105, 0x0141, 0x20AC, 0x201E, 0x0160, 0x00A7, 0x0161, 0x00A9, 0x0218, 0x00AB, 0x0179, 0x00AD, 0x017A, 0x017B,
0x00B0, 0x00B1, 0x010C, 0x0142, 0x017D, 0x201D, 0x00B6, 0x00B7, 0x017E, 0x010D, 0x0219, 0x00BB, 0x0152, 0x0153, 0x0178, 0x017C,
0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x0106, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
0x0110, 0x0143, 0x00D2, 0x00D3, 0x00D4, 0x0150, 0x00D6, 0x015A, 0x0170, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0118, 0x021A, 0x00DF,
0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x0107, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
0x0111, 0x0144, 0x00F2, 0x00F3, 0x00F4, 0x0151, 0x00F6, 0x015B, 0x0171, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0119, 0x021B, 0x00FF,
};
const DoubleByteEncoding::Mapping ISO8859_16Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_16Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A7, 0x00A7 }, { 0x00A9, 0x00A9 }, { 0x00AB, 0x00AB }, { 0x00AD, 0x00AD }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B6, 0x00B6 },
{ 0x00B7, 0x00B7 }, { 0x00BB, 0x00BB }, { 0x00C0, 0x00C0 }, { 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C4, 0x00C4 }, { 0x00C6, 0x00C6 }, { 0x00C7, 0x00C7 },
{ 0x00C8, 0x00C8 }, { 0x00C9, 0x00C9 }, { 0x00CA, 0x00CA }, { 0x00CB, 0x00CB }, { 0x00CC, 0x00CC }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF },
{ 0x00D2, 0x00D2 }, { 0x00D3, 0x00D3 }, { 0x00D4, 0x00D4 }, { 0x00D6, 0x00D6 }, { 0x00D9, 0x00D9 }, { 0x00DA, 0x00DA }, { 0x00DB, 0x00DB }, { 0x00DC, 0x00DC },
{ 0x00DF, 0x00DF }, { 0x00E0, 0x00E0 }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 }, { 0x00E4, 0x00E4 }, { 0x00E6, 0x00E6 }, { 0x00E7, 0x00E7 }, { 0x00E8, 0x00E8 },
{ 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA }, { 0x00EB, 0x00EB }, { 0x00EC, 0x00EC }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F2, 0x00F2 },
{ 0x00F3, 0x00F3 }, { 0x00F4, 0x00F4 }, { 0x00F6, 0x00F6 }, { 0x00F9, 0x00F9 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB }, { 0x00FC, 0x00FC }, { 0x00FF, 0x00FF },
{ 0x0102, 0x00C3 }, { 0x0103, 0x00E3 }, { 0x0104, 0x00A1 }, { 0x0105, 0x00A2 }, { 0x0106, 0x00C5 }, { 0x0107, 0x00E5 }, { 0x010C, 0x00B2 }, { 0x010D, 0x00B9 },
{ 0x0110, 0x00D0 }, { 0x0111, 0x00F0 }, { 0x0118, 0x00DD }, { 0x0119, 0x00FD }, { 0x0141, 0x00A3 }, { 0x0142, 0x00B3 }, { 0x0143, 0x00D1 }, { 0x0144, 0x00F1 },
{ 0x0150, 0x00D5 }, { 0x0151, 0x00F5 }, { 0x0152, 0x00BC }, { 0x0153, 0x00BD }, { 0x015A, 0x00D7 }, { 0x015B, 0x00F7 }, { 0x0160, 0x00A6 }, { 0x0161, 0x00A8 },
{ 0x0170, 0x00D8 }, { 0x0171, 0x00F8 }, { 0x0178, 0x00BE }, { 0x0179, 0x00AC }, { 0x017A, 0x00AE }, { 0x017B, 0x00AF }, { 0x017C, 0x00BF }, { 0x017D, 0x00B4 },
{ 0x017E, 0x00B8 }, { 0x0218, 0x00AA }, { 0x0219, 0x00BA }, { 0x021A, 0x00DE }, { 0x021B, 0x00FE }, { 0x201D, 0x00B5 }, { 0x201E, 0x00A5 }, { 0x20AC, 0x00A4 },
};
ISO8859_16Encoding::ISO8859_16Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_16Encoding::~ISO8859_16Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_3Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_3Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_3Encoding.h"
namespace Poco {
const char* ISO8859_3Encoding::_names[] =
{
"ISO-8859-3",
"Latin3",
"Latin-3",
NULL
};
const TextEncoding::CharacterMap ISO8859_3Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x0126, 0x02D8, 0x00A3, 0x00A4, -1, 0x0124, 0x00A7, 0x00A8, 0x0130, 0x015E, 0x011E, 0x0134, 0x00AD, -1, 0x017B,
0x00B0, 0x0127, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x0125, 0x00B7, 0x00B8, 0x0131, 0x015F, 0x011F, 0x0135, 0x00BD, -1, 0x017C,
0x00C0, 0x00C1, 0x00C2, -1, 0x00C4, 0x010A, 0x0108, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
-1, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x0120, 0x00D6, 0x00D7, 0x011C, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x016C, 0x015C, 0x00DF,
0x00E0, 0x00E1, 0x00E2, -1, 0x00E4, 0x010B, 0x0109, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
-1, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x0121, 0x00F6, 0x00F7, 0x011D, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x016D, 0x015D, 0x02D9,
};
const DoubleByteEncoding::Mapping ISO8859_3Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_3Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 }, { 0x00AD, 0x00AD }, { 0x00B0, 0x00B0 }, { 0x00B2, 0x00B2 },
{ 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B7, 0x00B7 }, { 0x00B8, 0x00B8 }, { 0x00BD, 0x00BD }, { 0x00C0, 0x00C0 }, { 0x00C1, 0x00C1 },
{ 0x00C2, 0x00C2 }, { 0x00C4, 0x00C4 }, { 0x00C7, 0x00C7 }, { 0x00C8, 0x00C8 }, { 0x00C9, 0x00C9 }, { 0x00CA, 0x00CA }, { 0x00CB, 0x00CB }, { 0x00CC, 0x00CC },
{ 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF }, { 0x00D1, 0x00D1 }, { 0x00D2, 0x00D2 }, { 0x00D3, 0x00D3 }, { 0x00D4, 0x00D4 }, { 0x00D6, 0x00D6 },
{ 0x00D7, 0x00D7 }, { 0x00D9, 0x00D9 }, { 0x00DA, 0x00DA }, { 0x00DB, 0x00DB }, { 0x00DC, 0x00DC }, { 0x00DF, 0x00DF }, { 0x00E0, 0x00E0 }, { 0x00E1, 0x00E1 },
{ 0x00E2, 0x00E2 }, { 0x00E4, 0x00E4 }, { 0x00E7, 0x00E7 }, { 0x00E8, 0x00E8 }, { 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA }, { 0x00EB, 0x00EB }, { 0x00EC, 0x00EC },
{ 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F1, 0x00F1 }, { 0x00F2, 0x00F2 }, { 0x00F3, 0x00F3 }, { 0x00F4, 0x00F4 }, { 0x00F6, 0x00F6 },
{ 0x00F7, 0x00F7 }, { 0x00F9, 0x00F9 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB }, { 0x00FC, 0x00FC }, { 0x0108, 0x00C6 }, { 0x0109, 0x00E6 }, { 0x010A, 0x00C5 },
{ 0x010B, 0x00E5 }, { 0x011C, 0x00D8 }, { 0x011D, 0x00F8 }, { 0x011E, 0x00AB }, { 0x011F, 0x00BB }, { 0x0120, 0x00D5 }, { 0x0121, 0x00F5 }, { 0x0124, 0x00A6 },
{ 0x0125, 0x00B6 }, { 0x0126, 0x00A1 }, { 0x0127, 0x00B1 }, { 0x0130, 0x00A9 }, { 0x0131, 0x00B9 }, { 0x0134, 0x00AC }, { 0x0135, 0x00BC }, { 0x015C, 0x00DE },
{ 0x015D, 0x00FE }, { 0x015E, 0x00AA }, { 0x015F, 0x00BA }, { 0x016C, 0x00DD }, { 0x016D, 0x00FD }, { 0x017B, 0x00AF }, { 0x017C, 0x00BF }, { 0x02D8, 0x00A2 },
{ 0x02D9, 0x00FF },
};
ISO8859_3Encoding::ISO8859_3Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_3Encoding::~ISO8859_3Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_4Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_4Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_4Encoding.h"
namespace Poco {
const char* ISO8859_4Encoding::_names[] =
{
"ISO-8859-4",
"Latin4",
"Latin-4",
NULL
};
const TextEncoding::CharacterMap ISO8859_4Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x0104, 0x0138, 0x0156, 0x00A4, 0x0128, 0x013B, 0x00A7, 0x00A8, 0x0160, 0x0112, 0x0122, 0x0166, 0x00AD, 0x017D, 0x00AF,
0x00B0, 0x0105, 0x02DB, 0x0157, 0x00B4, 0x0129, 0x013C, 0x02C7, 0x00B8, 0x0161, 0x0113, 0x0123, 0x0167, 0x014A, 0x017E, 0x014B,
0x0100, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x012E, 0x010C, 0x00C9, 0x0118, 0x00CB, 0x0116, 0x00CD, 0x00CE, 0x012A,
0x0110, 0x0145, 0x014C, 0x0136, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x0172, 0x00DA, 0x00DB, 0x00DC, 0x0168, 0x016A, 0x00DF,
0x0101, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x012F, 0x010D, 0x00E9, 0x0119, 0x00EB, 0x0117, 0x00ED, 0x00EE, 0x012B,
0x0111, 0x0146, 0x014D, 0x0137, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x0173, 0x00FA, 0x00FB, 0x00FC, 0x0169, 0x016B, 0x02D9,
};
const DoubleByteEncoding::Mapping ISO8859_4Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_4Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A4, 0x00A4 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 }, { 0x00AD, 0x00AD }, { 0x00AF, 0x00AF }, { 0x00B0, 0x00B0 }, { 0x00B4, 0x00B4 },
{ 0x00B8, 0x00B8 }, { 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C3, 0x00C3 }, { 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00C6 }, { 0x00C9, 0x00C9 },
{ 0x00CB, 0x00CB }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00D4, 0x00D4 }, { 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D7, 0x00D7 }, { 0x00D8, 0x00D8 },
{ 0x00DA, 0x00DA }, { 0x00DB, 0x00DB }, { 0x00DC, 0x00DC }, { 0x00DF, 0x00DF }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 }, { 0x00E3, 0x00E3 }, { 0x00E4, 0x00E4 },
{ 0x00E5, 0x00E5 }, { 0x00E6, 0x00E6 }, { 0x00E9, 0x00E9 }, { 0x00EB, 0x00EB }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00F4, 0x00F4 }, { 0x00F5, 0x00F5 },
{ 0x00F6, 0x00F6 }, { 0x00F7, 0x00F7 }, { 0x00F8, 0x00F8 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB }, { 0x00FC, 0x00FC }, { 0x0100, 0x00C0 }, { 0x0101, 0x00E0 },
{ 0x0104, 0x00A1 }, { 0x0105, 0x00B1 }, { 0x010C, 0x00C8 }, { 0x010D, 0x00E8 }, { 0x0110, 0x00D0 }, { 0x0111, 0x00F0 }, { 0x0112, 0x00AA }, { 0x0113, 0x00BA },
{ 0x0116, 0x00CC }, { 0x0117, 0x00EC }, { 0x0118, 0x00CA }, { 0x0119, 0x00EA }, { 0x0122, 0x00AB }, { 0x0123, 0x00BB }, { 0x0128, 0x00A5 }, { 0x0129, 0x00B5 },
{ 0x012A, 0x00CF }, { 0x012B, 0x00EF }, { 0x012E, 0x00C7 }, { 0x012F, 0x00E7 }, { 0x0136, 0x00D3 }, { 0x0137, 0x00F3 }, { 0x0138, 0x00A2 }, { 0x013B, 0x00A6 },
{ 0x013C, 0x00B6 }, { 0x0145, 0x00D1 }, { 0x0146, 0x00F1 }, { 0x014A, 0x00BD }, { 0x014B, 0x00BF }, { 0x014C, 0x00D2 }, { 0x014D, 0x00F2 }, { 0x0156, 0x00A3 },
{ 0x0157, 0x00B3 }, { 0x0160, 0x00A9 }, { 0x0161, 0x00B9 }, { 0x0166, 0x00AC }, { 0x0167, 0x00BC }, { 0x0168, 0x00DD }, { 0x0169, 0x00FD }, { 0x016A, 0x00DE },
{ 0x016B, 0x00FE }, { 0x0172, 0x00D9 }, { 0x0173, 0x00F9 }, { 0x017D, 0x00AE }, { 0x017E, 0x00BE }, { 0x02C7, 0x00B7 }, { 0x02D9, 0x00FF }, { 0x02DB, 0x00B2 },
};
ISO8859_4Encoding::ISO8859_4Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_4Encoding::~ISO8859_4Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,101 @@
//
// ISO8859_5Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_5Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_5Encoding.h"
namespace Poco {
const char* ISO8859_5Encoding::_names[] =
{
"ISO-8859-5",
NULL
};
const TextEncoding::CharacterMap ISO8859_5Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x0401, 0x0402, 0x0403, 0x0404, 0x0405, 0x0406, 0x0407, 0x0408, 0x0409, 0x040A, 0x040B, 0x040C, 0x00AD, 0x040E, 0x040F,
0x0410, 0x0411, 0x0412, 0x0413, 0x0414, 0x0415, 0x0416, 0x0417, 0x0418, 0x0419, 0x041A, 0x041B, 0x041C, 0x041D, 0x041E, 0x041F,
0x0420, 0x0421, 0x0422, 0x0423, 0x0424, 0x0425, 0x0426, 0x0427, 0x0428, 0x0429, 0x042A, 0x042B, 0x042C, 0x042D, 0x042E, 0x042F,
0x0430, 0x0431, 0x0432, 0x0433, 0x0434, 0x0435, 0x0436, 0x0437, 0x0438, 0x0439, 0x043A, 0x043B, 0x043C, 0x043D, 0x043E, 0x043F,
0x0440, 0x0441, 0x0442, 0x0443, 0x0444, 0x0445, 0x0446, 0x0447, 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F,
0x2116, 0x0451, 0x0452, 0x0453, 0x0454, 0x0455, 0x0456, 0x0457, 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F,
};
const DoubleByteEncoding::Mapping ISO8859_5Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_5Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A7, 0x00FD }, { 0x00AD, 0x00AD }, { 0x0401, 0x00A1 }, { 0x0402, 0x00A2 }, { 0x0403, 0x00A3 }, { 0x0404, 0x00A4 }, { 0x0405, 0x00A5 },
{ 0x0406, 0x00A6 }, { 0x0407, 0x00A7 }, { 0x0408, 0x00A8 }, { 0x0409, 0x00A9 }, { 0x040A, 0x00AA }, { 0x040B, 0x00AB }, { 0x040C, 0x00AC }, { 0x040E, 0x00AE },
{ 0x040F, 0x00AF }, { 0x0410, 0x00B0 }, { 0x0411, 0x00B1 }, { 0x0412, 0x00B2 }, { 0x0413, 0x00B3 }, { 0x0414, 0x00B4 }, { 0x0415, 0x00B5 }, { 0x0416, 0x00B6 },
{ 0x0417, 0x00B7 }, { 0x0418, 0x00B8 }, { 0x0419, 0x00B9 }, { 0x041A, 0x00BA }, { 0x041B, 0x00BB }, { 0x041C, 0x00BC }, { 0x041D, 0x00BD }, { 0x041E, 0x00BE },
{ 0x041F, 0x00BF }, { 0x0420, 0x00C0 }, { 0x0421, 0x00C1 }, { 0x0422, 0x00C2 }, { 0x0423, 0x00C3 }, { 0x0424, 0x00C4 }, { 0x0425, 0x00C5 }, { 0x0426, 0x00C6 },
{ 0x0427, 0x00C7 }, { 0x0428, 0x00C8 }, { 0x0429, 0x00C9 }, { 0x042A, 0x00CA }, { 0x042B, 0x00CB }, { 0x042C, 0x00CC }, { 0x042D, 0x00CD }, { 0x042E, 0x00CE },
{ 0x042F, 0x00CF }, { 0x0430, 0x00D0 }, { 0x0431, 0x00D1 }, { 0x0432, 0x00D2 }, { 0x0433, 0x00D3 }, { 0x0434, 0x00D4 }, { 0x0435, 0x00D5 }, { 0x0436, 0x00D6 },
{ 0x0437, 0x00D7 }, { 0x0438, 0x00D8 }, { 0x0439, 0x00D9 }, { 0x043A, 0x00DA }, { 0x043B, 0x00DB }, { 0x043C, 0x00DC }, { 0x043D, 0x00DD }, { 0x043E, 0x00DE },
{ 0x043F, 0x00DF }, { 0x0440, 0x00E0 }, { 0x0441, 0x00E1 }, { 0x0442, 0x00E2 }, { 0x0443, 0x00E3 }, { 0x0444, 0x00E4 }, { 0x0445, 0x00E5 }, { 0x0446, 0x00E6 },
{ 0x0447, 0x00E7 }, { 0x0448, 0x00E8 }, { 0x0449, 0x00E9 }, { 0x044A, 0x00EA }, { 0x044B, 0x00EB }, { 0x044C, 0x00EC }, { 0x044D, 0x00ED }, { 0x044E, 0x00EE },
{ 0x044F, 0x00EF }, { 0x0451, 0x00F1 }, { 0x0452, 0x00F2 }, { 0x0453, 0x00F3 }, { 0x0454, 0x00F4 }, { 0x0455, 0x00F5 }, { 0x0456, 0x00F6 }, { 0x0457, 0x00F7 },
{ 0x0458, 0x00F8 }, { 0x0459, 0x00F9 }, { 0x045A, 0x00FA }, { 0x045B, 0x00FB }, { 0x045C, 0x00FC }, { 0x045E, 0x00FE }, { 0x045F, 0x00FF }, { 0x2116, 0x00F0 },
};
ISO8859_5Encoding::ISO8859_5Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_5Encoding::~ISO8859_5Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,96 @@
//
// ISO8859_6Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_6Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_6Encoding.h"
namespace Poco {
const char* ISO8859_6Encoding::_names[] =
{
"ISO-8859-6",
NULL
};
const TextEncoding::CharacterMap ISO8859_6Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, -1, -1, -1, 0x00A4, -1, -1, -1, -1, -1, -1, -1, 0x060C, 0x00AD, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0x061B, -1, -1, -1, 0x061F,
-1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F,
0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x0637, 0x0638, 0x0639, 0x063A, -1, -1, -1, -1, -1,
0x0640, 0x0641, 0x0642, 0x0643, 0x0644, 0x0645, 0x0646, 0x0647, 0x0648, 0x0649, 0x064A, 0x064B, 0x064C, 0x064D, 0x064E, 0x064F,
0x0650, 0x0651, 0x0652, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
};
const DoubleByteEncoding::Mapping ISO8859_6Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_6Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A4, 0x00A4 }, { 0x00AD, 0x00AD }, { 0x060C, 0x00AC }, { 0x061B, 0x00BB }, { 0x061F, 0x00BF }, { 0x0621, 0x00C1 }, { 0x0622, 0x00C2 },
{ 0x0623, 0x00C3 }, { 0x0624, 0x00C4 }, { 0x0625, 0x00C5 }, { 0x0626, 0x00C6 }, { 0x0627, 0x00C7 }, { 0x0628, 0x00C8 }, { 0x0629, 0x00C9 }, { 0x062A, 0x00CA },
{ 0x062B, 0x00CB }, { 0x062C, 0x00CC }, { 0x062D, 0x00CD }, { 0x062E, 0x00CE }, { 0x062F, 0x00CF }, { 0x0630, 0x00D0 }, { 0x0631, 0x00D1 }, { 0x0632, 0x00D2 },
{ 0x0633, 0x00D3 }, { 0x0634, 0x00D4 }, { 0x0635, 0x00D5 }, { 0x0636, 0x00D6 }, { 0x0637, 0x00D7 }, { 0x0638, 0x00D8 }, { 0x0639, 0x00D9 }, { 0x063A, 0x00DA },
{ 0x0640, 0x00E0 }, { 0x0641, 0x00E1 }, { 0x0642, 0x00E2 }, { 0x0643, 0x00E3 }, { 0x0644, 0x00E4 }, { 0x0645, 0x00E5 }, { 0x0646, 0x00E6 }, { 0x0647, 0x00E7 },
{ 0x0648, 0x00E8 }, { 0x0649, 0x00E9 }, { 0x064A, 0x00EA }, { 0x064B, 0x00EB }, { 0x064C, 0x00EC }, { 0x064D, 0x00ED }, { 0x064E, 0x00EE }, { 0x064F, 0x00EF },
{ 0x0650, 0x00F0 }, { 0x0651, 0x00F1 }, { 0x0652, 0x00F2 },
};
ISO8859_6Encoding::ISO8859_6Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_6Encoding::~ISO8859_6Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,101 @@
//
// ISO8859_7Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_7Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_7Encoding.h"
namespace Poco {
const char* ISO8859_7Encoding::_names[] =
{
"ISO-8859-7",
NULL
};
const TextEncoding::CharacterMap ISO8859_7Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x2018, 0x2019, 0x00A3, 0x20AC, 0x20AF, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x037A, 0x00AB, 0x00AC, 0x00AD, -1, 0x2015,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x0385, 0x0386, 0x00B7, 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F,
0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F,
0x03A0, 0x03A1, -1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF,
0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF,
0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, -1,
};
const DoubleByteEncoding::Mapping ISO8859_7Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_7Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A3, 0x00A3 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 }, { 0x00A9, 0x00A9 }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC },
{ 0x00AD, 0x00AD }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B7, 0x00B7 }, { 0x00BB, 0x00BB }, { 0x00BD, 0x00BD },
{ 0x037A, 0x00AA }, { 0x0384, 0x00B4 }, { 0x0385, 0x00B5 }, { 0x0386, 0x00B6 }, { 0x0388, 0x00B8 }, { 0x0389, 0x00B9 }, { 0x038A, 0x00BA }, { 0x038C, 0x00BC },
{ 0x038E, 0x00BE }, { 0x038F, 0x00BF }, { 0x0390, 0x00C0 }, { 0x0391, 0x00C1 }, { 0x0392, 0x00C2 }, { 0x0393, 0x00C3 }, { 0x0394, 0x00C4 }, { 0x0395, 0x00C5 },
{ 0x0396, 0x00C6 }, { 0x0397, 0x00C7 }, { 0x0398, 0x00C8 }, { 0x0399, 0x00C9 }, { 0x039A, 0x00CA }, { 0x039B, 0x00CB }, { 0x039C, 0x00CC }, { 0x039D, 0x00CD },
{ 0x039E, 0x00CE }, { 0x039F, 0x00CF }, { 0x03A0, 0x00D0 }, { 0x03A1, 0x00D1 }, { 0x03A3, 0x00D3 }, { 0x03A4, 0x00D4 }, { 0x03A5, 0x00D5 }, { 0x03A6, 0x00D6 },
{ 0x03A7, 0x00D7 }, { 0x03A8, 0x00D8 }, { 0x03A9, 0x00D9 }, { 0x03AA, 0x00DA }, { 0x03AB, 0x00DB }, { 0x03AC, 0x00DC }, { 0x03AD, 0x00DD }, { 0x03AE, 0x00DE },
{ 0x03AF, 0x00DF }, { 0x03B0, 0x00E0 }, { 0x03B1, 0x00E1 }, { 0x03B2, 0x00E2 }, { 0x03B3, 0x00E3 }, { 0x03B4, 0x00E4 }, { 0x03B5, 0x00E5 }, { 0x03B6, 0x00E6 },
{ 0x03B7, 0x00E7 }, { 0x03B8, 0x00E8 }, { 0x03B9, 0x00E9 }, { 0x03BA, 0x00EA }, { 0x03BB, 0x00EB }, { 0x03BC, 0x00EC }, { 0x03BD, 0x00ED }, { 0x03BE, 0x00EE },
{ 0x03BF, 0x00EF }, { 0x03C0, 0x00F0 }, { 0x03C1, 0x00F1 }, { 0x03C2, 0x00F2 }, { 0x03C3, 0x00F3 }, { 0x03C4, 0x00F4 }, { 0x03C5, 0x00F5 }, { 0x03C6, 0x00F6 },
{ 0x03C7, 0x00F7 }, { 0x03C8, 0x00F8 }, { 0x03C9, 0x00F9 }, { 0x03CA, 0x00FA }, { 0x03CB, 0x00FB }, { 0x03CC, 0x00FC }, { 0x03CD, 0x00FD }, { 0x03CE, 0x00FE },
{ 0x2015, 0x00AF }, { 0x2018, 0x00A1 }, { 0x2019, 0x00A2 }, { 0x20AC, 0x00A4 }, { 0x20AF, 0x00A5 },
};
ISO8859_7Encoding::ISO8859_7Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_7Encoding::~ISO8859_7Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,97 @@
//
// ISO8859_8Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_8Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_8Encoding.h"
namespace Poco {
const char* ISO8859_8Encoding::_names[] =
{
"ISO-8859-8",
NULL
};
const TextEncoding::CharacterMap ISO8859_8Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, -1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0x2017,
0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF,
0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, 0x05E8, 0x05E9, 0x05EA, -1, -1, 0x200E, 0x200F, -1,
};
const DoubleByteEncoding::Mapping ISO8859_8Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_8Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 },
{ 0x00A9, 0x00A9 }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x00AF }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 },
{ 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 }, { 0x00B8, 0x00B8 }, { 0x00B9, 0x00B9 },
{ 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00D7, 0x00AA }, { 0x00F7, 0x00BA }, { 0x05D0, 0x00E0 }, { 0x05D1, 0x00E1 },
{ 0x05D2, 0x00E2 }, { 0x05D3, 0x00E3 }, { 0x05D4, 0x00E4 }, { 0x05D5, 0x00E5 }, { 0x05D6, 0x00E6 }, { 0x05D7, 0x00E7 }, { 0x05D8, 0x00E8 }, { 0x05D9, 0x00E9 },
{ 0x05DA, 0x00EA }, { 0x05DB, 0x00EB }, { 0x05DC, 0x00EC }, { 0x05DD, 0x00ED }, { 0x05DE, 0x00EE }, { 0x05DF, 0x00EF }, { 0x05E0, 0x00F0 }, { 0x05E1, 0x00F1 },
{ 0x05E2, 0x00F2 }, { 0x05E3, 0x00F3 }, { 0x05E4, 0x00F4 }, { 0x05E5, 0x00F5 }, { 0x05E6, 0x00F6 }, { 0x05E7, 0x00F7 }, { 0x05E8, 0x00F8 }, { 0x05E9, 0x00F9 },
{ 0x05EA, 0x00FA }, { 0x200E, 0x00FD }, { 0x200F, 0x00FE }, { 0x2017, 0x00DF },
};
ISO8859_8Encoding::ISO8859_8Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_8Encoding::~ISO8859_8Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// ISO8859_9Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: ISO8859_9Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/ISO8859_9Encoding.h"
namespace Poco {
const char* ISO8859_9Encoding::_names[] =
{
"ISO-8859-9",
"Latin5",
"Latin-5",
NULL
};
const TextEncoding::CharacterMap ISO8859_9Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x0080, 0x0081, 0x0082, 0x0083, 0x0084, 0x0085, 0x0086, 0x0087, 0x0088, 0x0089, 0x008A, 0x008B, 0x008C, 0x008D, 0x008E, 0x008F,
0x0090, 0x0091, 0x0092, 0x0093, 0x0094, 0x0095, 0x0096, 0x0097, 0x0098, 0x0099, 0x009A, 0x009B, 0x009C, 0x009D, 0x009E, 0x009F,
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF,
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF,
};
const DoubleByteEncoding::Mapping ISO8859_9Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping ISO8859_9Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x0080, 0x0080 }, { 0x0081, 0x0081 }, { 0x0082, 0x0082 }, { 0x0083, 0x0083 }, { 0x0084, 0x0084 }, { 0x0085, 0x0085 }, { 0x0086, 0x0086 }, { 0x0087, 0x0087 },
{ 0x0088, 0x0088 }, { 0x0089, 0x0089 }, { 0x008A, 0x008A }, { 0x008B, 0x008B }, { 0x008C, 0x008C }, { 0x008D, 0x008D }, { 0x008E, 0x008E }, { 0x008F, 0x008F },
{ 0x0090, 0x0090 }, { 0x0091, 0x0091 }, { 0x0092, 0x0092 }, { 0x0093, 0x0093 }, { 0x0094, 0x0094 }, { 0x0095, 0x0095 }, { 0x0096, 0x0096 }, { 0x0097, 0x0097 },
{ 0x0098, 0x0098 }, { 0x0099, 0x0099 }, { 0x009A, 0x009A }, { 0x009B, 0x009B }, { 0x009C, 0x009C }, { 0x009D, 0x009D }, { 0x009E, 0x009E }, { 0x009F, 0x009F },
{ 0x00A0, 0x00A0 }, { 0x00A1, 0x00A1 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 },
{ 0x00A8, 0x00A8 }, { 0x00A9, 0x00A9 }, { 0x00AA, 0x00AA }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x00AF },
{ 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 },
{ 0x00B8, 0x00B8 }, { 0x00B9, 0x00B9 }, { 0x00BA, 0x00BA }, { 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00BF, 0x00BF },
{ 0x00C0, 0x00C0 }, { 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C3, 0x00C3 }, { 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00C6 }, { 0x00C7, 0x00C7 },
{ 0x00C8, 0x00C8 }, { 0x00C9, 0x00C9 }, { 0x00CA, 0x00CA }, { 0x00CB, 0x00CB }, { 0x00CC, 0x00CC }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF },
{ 0x00D1, 0x00D1 }, { 0x00D2, 0x00D2 }, { 0x00D3, 0x00D3 }, { 0x00D4, 0x00D4 }, { 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D7, 0x00D7 }, { 0x00D8, 0x00D8 },
{ 0x00D9, 0x00D9 }, { 0x00DA, 0x00DA }, { 0x00DB, 0x00DB }, { 0x00DC, 0x00DC }, { 0x00DF, 0x00DF }, { 0x00E0, 0x00E0 }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 },
{ 0x00E3, 0x00E3 }, { 0x00E4, 0x00E4 }, { 0x00E5, 0x00E5 }, { 0x00E6, 0x00E6 }, { 0x00E7, 0x00E7 }, { 0x00E8, 0x00E8 }, { 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA },
{ 0x00EB, 0x00EB }, { 0x00EC, 0x00EC }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F1, 0x00F1 }, { 0x00F2, 0x00F2 }, { 0x00F3, 0x00F3 },
{ 0x00F4, 0x00F4 }, { 0x00F5, 0x00F5 }, { 0x00F6, 0x00F6 }, { 0x00F7, 0x00F7 }, { 0x00F8, 0x00F8 }, { 0x00F9, 0x00F9 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB },
{ 0x00FC, 0x00FC }, { 0x00FF, 0x00FF }, { 0x011E, 0x00D0 }, { 0x011F, 0x00F0 }, { 0x0130, 0x00DD }, { 0x0131, 0x00FD }, { 0x015E, 0x00DE }, { 0x015F, 0x00FE },
};
ISO8859_9Encoding::ISO8859_9Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
ISO8859_9Encoding::~ISO8859_9Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,102 @@
//
// Windows1253Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows1253Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows1253Encoding.h"
namespace Poco {
const char* Windows1253Encoding::_names[] =
{
"windows-1253",
"Windows-1253",
"cp1253",
"CP1253",
NULL
};
const TextEncoding::CharacterMap Windows1253Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, -1, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, -1, 0x2030, -1, 0x2039, -1, -1, -1, -1,
-1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, -1, 0x2122, -1, 0x203A, -1, -1, -1, -1,
0x00A0, 0x0385, 0x0386, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, -1, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x2015,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x0384, 0x00B5, 0x00B6, 0x00B7, 0x0388, 0x0389, 0x038A, 0x00BB, 0x038C, 0x00BD, 0x038E, 0x038F,
0x0390, 0x0391, 0x0392, 0x0393, 0x0394, 0x0395, 0x0396, 0x0397, 0x0398, 0x0399, 0x039A, 0x039B, 0x039C, 0x039D, 0x039E, 0x039F,
0x03A0, 0x03A1, -1, 0x03A3, 0x03A4, 0x03A5, 0x03A6, 0x03A7, 0x03A8, 0x03A9, 0x03AA, 0x03AB, 0x03AC, 0x03AD, 0x03AE, 0x03AF,
0x03B0, 0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, 0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, 0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF,
0x03C0, 0x03C1, 0x03C2, 0x03C3, 0x03C4, 0x03C5, 0x03C6, 0x03C7, 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, -1,
};
const DoubleByteEncoding::Mapping Windows1253Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows1253Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 }, { 0x00A9, 0x00A9 },
{ 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 },
{ 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 }, { 0x00BB, 0x00BB }, { 0x00BD, 0x00BD }, { 0x0192, 0x0083 }, { 0x0384, 0x00B4 }, { 0x0385, 0x00A1 },
{ 0x0386, 0x00A2 }, { 0x0388, 0x00B8 }, { 0x0389, 0x00B9 }, { 0x038A, 0x00BA }, { 0x038C, 0x00BC }, { 0x038E, 0x00BE }, { 0x038F, 0x00BF }, { 0x0390, 0x00C0 },
{ 0x0391, 0x00C1 }, { 0x0392, 0x00C2 }, { 0x0393, 0x00C3 }, { 0x0394, 0x00C4 }, { 0x0395, 0x00C5 }, { 0x0396, 0x00C6 }, { 0x0397, 0x00C7 }, { 0x0398, 0x00C8 },
{ 0x0399, 0x00C9 }, { 0x039A, 0x00CA }, { 0x039B, 0x00CB }, { 0x039C, 0x00CC }, { 0x039D, 0x00CD }, { 0x039E, 0x00CE }, { 0x039F, 0x00CF }, { 0x03A0, 0x00D0 },
{ 0x03A1, 0x00D1 }, { 0x03A3, 0x00D3 }, { 0x03A4, 0x00D4 }, { 0x03A5, 0x00D5 }, { 0x03A6, 0x00D6 }, { 0x03A7, 0x00D7 }, { 0x03A8, 0x00D8 }, { 0x03A9, 0x00D9 },
{ 0x03AA, 0x00DA }, { 0x03AB, 0x00DB }, { 0x03AC, 0x00DC }, { 0x03AD, 0x00DD }, { 0x03AE, 0x00DE }, { 0x03AF, 0x00DF }, { 0x03B0, 0x00E0 }, { 0x03B1, 0x00E1 },
{ 0x03B2, 0x00E2 }, { 0x03B3, 0x00E3 }, { 0x03B4, 0x00E4 }, { 0x03B5, 0x00E5 }, { 0x03B6, 0x00E6 }, { 0x03B7, 0x00E7 }, { 0x03B8, 0x00E8 }, { 0x03B9, 0x00E9 },
{ 0x03BA, 0x00EA }, { 0x03BB, 0x00EB }, { 0x03BC, 0x00EC }, { 0x03BD, 0x00ED }, { 0x03BE, 0x00EE }, { 0x03BF, 0x00EF }, { 0x03C0, 0x00F0 }, { 0x03C1, 0x00F1 },
{ 0x03C2, 0x00F2 }, { 0x03C3, 0x00F3 }, { 0x03C4, 0x00F4 }, { 0x03C5, 0x00F5 }, { 0x03C6, 0x00F6 }, { 0x03C7, 0x00F7 }, { 0x03C8, 0x00F8 }, { 0x03C9, 0x00F9 },
{ 0x03CA, 0x00FA }, { 0x03CB, 0x00FB }, { 0x03CC, 0x00FC }, { 0x03CD, 0x00FD }, { 0x03CE, 0x00FE }, { 0x2013, 0x0096 }, { 0x2014, 0x0097 }, { 0x2015, 0x00AF },
{ 0x2018, 0x0091 }, { 0x2019, 0x0092 }, { 0x201A, 0x0082 }, { 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x201E, 0x0084 }, { 0x2020, 0x0086 }, { 0x2021, 0x0087 },
{ 0x2022, 0x0095 }, { 0x2026, 0x0085 }, { 0x2030, 0x0089 }, { 0x2039, 0x008B }, { 0x203A, 0x009B }, { 0x20AC, 0x0080 }, { 0x2122, 0x0099 },
};
Windows1253Encoding::Windows1253Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows1253Encoding::~Windows1253Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,104 @@
//
// Windows1254Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows1254Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows1254Encoding.h"
namespace Poco {
const char* Windows1254Encoding::_names[] =
{
"windows-1254",
"Windows-1254",
"cp1254",
"CP1254",
NULL
};
const TextEncoding::CharacterMap Windows1254Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, -1, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 0x02C6, 0x2030, 0x0160, 0x2039, 0x0152, -1, -1, -1,
-1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0x02DC, 0x2122, 0x0161, 0x203A, 0x0153, -1, -1, 0x0178,
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
0x00C0, 0x00C1, 0x00C2, 0x00C3, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x00CC, 0x00CD, 0x00CE, 0x00CF,
0x011E, 0x00D1, 0x00D2, 0x00D3, 0x00D4, 0x00D5, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x0130, 0x015E, 0x00DF,
0x00E0, 0x00E1, 0x00E2, 0x00E3, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x00EC, 0x00ED, 0x00EE, 0x00EF,
0x011F, 0x00F1, 0x00F2, 0x00F3, 0x00F4, 0x00F5, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF,
};
const DoubleByteEncoding::Mapping Windows1254Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows1254Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x00A1, 0x00A1 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 },
{ 0x00A8, 0x00A8 }, { 0x00A9, 0x00A9 }, { 0x00AA, 0x00AA }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x00AF },
{ 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 },
{ 0x00B8, 0x00B8 }, { 0x00B9, 0x00B9 }, { 0x00BA, 0x00BA }, { 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00BF, 0x00BF },
{ 0x00C0, 0x00C0 }, { 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C3, 0x00C3 }, { 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00C6 }, { 0x00C7, 0x00C7 },
{ 0x00C8, 0x00C8 }, { 0x00C9, 0x00C9 }, { 0x00CA, 0x00CA }, { 0x00CB, 0x00CB }, { 0x00CC, 0x00CC }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF },
{ 0x00D1, 0x00D1 }, { 0x00D2, 0x00D2 }, { 0x00D3, 0x00D3 }, { 0x00D4, 0x00D4 }, { 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D7, 0x00D7 }, { 0x00D8, 0x00D8 },
{ 0x00D9, 0x00D9 }, { 0x00DA, 0x00DA }, { 0x00DB, 0x00DB }, { 0x00DC, 0x00DC }, { 0x00DF, 0x00DF }, { 0x00E0, 0x00E0 }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 },
{ 0x00E3, 0x00E3 }, { 0x00E4, 0x00E4 }, { 0x00E5, 0x00E5 }, { 0x00E6, 0x00E6 }, { 0x00E7, 0x00E7 }, { 0x00E8, 0x00E8 }, { 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA },
{ 0x00EB, 0x00EB }, { 0x00EC, 0x00EC }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F1, 0x00F1 }, { 0x00F2, 0x00F2 }, { 0x00F3, 0x00F3 },
{ 0x00F4, 0x00F4 }, { 0x00F5, 0x00F5 }, { 0x00F6, 0x00F6 }, { 0x00F7, 0x00F7 }, { 0x00F8, 0x00F8 }, { 0x00F9, 0x00F9 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB },
{ 0x00FC, 0x00FC }, { 0x00FF, 0x00FF }, { 0x011E, 0x00D0 }, { 0x011F, 0x00F0 }, { 0x0130, 0x00DD }, { 0x0131, 0x00FD }, { 0x0152, 0x008C }, { 0x0153, 0x009C },
{ 0x015E, 0x00DE }, { 0x015F, 0x00FE }, { 0x0160, 0x008A }, { 0x0161, 0x009A }, { 0x0178, 0x009F }, { 0x0192, 0x0083 }, { 0x02C6, 0x0088 }, { 0x02DC, 0x0098 },
{ 0x2013, 0x0096 }, { 0x2014, 0x0097 }, { 0x2018, 0x0091 }, { 0x2019, 0x0092 }, { 0x201A, 0x0082 }, { 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x201E, 0x0084 },
{ 0x2020, 0x0086 }, { 0x2021, 0x0087 }, { 0x2022, 0x0095 }, { 0x2026, 0x0085 }, { 0x2030, 0x0089 }, { 0x2039, 0x008B }, { 0x203A, 0x009B }, { 0x20AC, 0x0080 },
{ 0x2122, 0x0099 },
};
Windows1254Encoding::Windows1254Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows1254Encoding::~Windows1254Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,102 @@
//
// Windows1255Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows1255Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows1255Encoding.h"
namespace Poco {
const char* Windows1255Encoding::_names[] =
{
"windows-1255",
"Windows-1255",
"cp1255",
"CP1255",
NULL
};
const TextEncoding::CharacterMap Windows1255Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, -1, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 0x02C6, 0x2030, -1, 0x2039, -1, -1, -1, -1,
-1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0x02DC, 0x2122, -1, 0x203A, -1, -1, -1, -1,
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x20AA, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00D7, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00F7, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
0x05B0, 0x05B1, 0x05B2, 0x05B3, 0x05B4, 0x05B5, 0x05B6, 0x05B7, 0x05B8, 0x05B9, -1, 0x05BB, 0x05BC, 0x05BD, 0x05BE, 0x05BF,
0x05C0, 0x05C1, 0x05C2, 0x05C3, 0x05F0, 0x05F1, 0x05F2, 0x05F3, 0x05F4, -1, -1, -1, -1, -1, -1, -1,
0x05D0, 0x05D1, 0x05D2, 0x05D3, 0x05D4, 0x05D5, 0x05D6, 0x05D7, 0x05D8, 0x05D9, 0x05DA, 0x05DB, 0x05DC, 0x05DD, 0x05DE, 0x05DF,
0x05E0, 0x05E1, 0x05E2, 0x05E3, 0x05E4, 0x05E5, 0x05E6, 0x05E7, 0x05E8, 0x05E9, 0x05EA, -1, -1, 0x200E, 0x200F, -1,
};
const DoubleByteEncoding::Mapping Windows1255Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows1255Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x00A1, 0x00A1 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 },
{ 0x00A9, 0x00A9 }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x00AF }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 },
{ 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 }, { 0x00B8, 0x00B8 }, { 0x00B9, 0x00B9 },
{ 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00BF, 0x00BF }, { 0x00D7, 0x00AA }, { 0x00F7, 0x00BA }, { 0x0192, 0x0083 },
{ 0x02C6, 0x0088 }, { 0x02DC, 0x0098 }, { 0x05B0, 0x00C0 }, { 0x05B1, 0x00C1 }, { 0x05B2, 0x00C2 }, { 0x05B3, 0x00C3 }, { 0x05B4, 0x00C4 }, { 0x05B5, 0x00C5 },
{ 0x05B6, 0x00C6 }, { 0x05B7, 0x00C7 }, { 0x05B8, 0x00C8 }, { 0x05B9, 0x00C9 }, { 0x05BB, 0x00CB }, { 0x05BC, 0x00CC }, { 0x05BD, 0x00CD }, { 0x05BE, 0x00CE },
{ 0x05BF, 0x00CF }, { 0x05C0, 0x00D0 }, { 0x05C1, 0x00D1 }, { 0x05C2, 0x00D2 }, { 0x05C3, 0x00D3 }, { 0x05D0, 0x00E0 }, { 0x05D1, 0x00E1 }, { 0x05D2, 0x00E2 },
{ 0x05D3, 0x00E3 }, { 0x05D4, 0x00E4 }, { 0x05D5, 0x00E5 }, { 0x05D6, 0x00E6 }, { 0x05D7, 0x00E7 }, { 0x05D8, 0x00E8 }, { 0x05D9, 0x00E9 }, { 0x05DA, 0x00EA },
{ 0x05DB, 0x00EB }, { 0x05DC, 0x00EC }, { 0x05DD, 0x00ED }, { 0x05DE, 0x00EE }, { 0x05DF, 0x00EF }, { 0x05E0, 0x00F0 }, { 0x05E1, 0x00F1 }, { 0x05E2, 0x00F2 },
{ 0x05E3, 0x00F3 }, { 0x05E4, 0x00F4 }, { 0x05E5, 0x00F5 }, { 0x05E6, 0x00F6 }, { 0x05E7, 0x00F7 }, { 0x05E8, 0x00F8 }, { 0x05E9, 0x00F9 }, { 0x05EA, 0x00FA },
{ 0x05F0, 0x00D4 }, { 0x05F1, 0x00D5 }, { 0x05F2, 0x00D6 }, { 0x05F3, 0x00D7 }, { 0x05F4, 0x00D8 }, { 0x200E, 0x00FD }, { 0x200F, 0x00FE }, { 0x2013, 0x0096 },
{ 0x2014, 0x0097 }, { 0x2018, 0x0091 }, { 0x2019, 0x0092 }, { 0x201A, 0x0082 }, { 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x201E, 0x0084 }, { 0x2020, 0x0086 },
{ 0x2021, 0x0087 }, { 0x2022, 0x0095 }, { 0x2026, 0x0085 }, { 0x2030, 0x0089 }, { 0x2039, 0x008B }, { 0x203A, 0x009B }, { 0x20AA, 0x00A4 }, { 0x20AC, 0x0080 },
{ 0x2122, 0x0099 },
};
Windows1255Encoding::Windows1255Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows1255Encoding::~Windows1255Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,104 @@
//
// Windows1256Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows1256Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows1256Encoding.h"
namespace Poco {
const char* Windows1256Encoding::_names[] =
{
"windows-1256",
"Windows-1256",
"cp1256",
"CP1256",
NULL
};
const TextEncoding::CharacterMap Windows1256Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, 0x067E, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 0x02C6, 0x2030, 0x0679, 0x2039, 0x0152, 0x0686, 0x0698, 0x0688,
0x06AF, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0x06A9, 0x2122, 0x0691, 0x203A, 0x0153, 0x200C, 0x200D, 0x06BA,
0x00A0, 0x060C, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x06BE, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x061B, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x061F,
0x06C1, 0x0621, 0x0622, 0x0623, 0x0624, 0x0625, 0x0626, 0x0627, 0x0628, 0x0629, 0x062A, 0x062B, 0x062C, 0x062D, 0x062E, 0x062F,
0x0630, 0x0631, 0x0632, 0x0633, 0x0634, 0x0635, 0x0636, 0x00D7, 0x0637, 0x0638, 0x0639, 0x063A, 0x0640, 0x0641, 0x0642, 0x0643,
0x00E0, 0x0644, 0x00E2, 0x0645, 0x0646, 0x0647, 0x0648, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0649, 0x064A, 0x00EE, 0x00EF,
0x064B, 0x064C, 0x064D, 0x064E, 0x00F4, 0x064F, 0x0650, 0x00F7, 0x0651, 0x00F9, 0x0652, 0x00FB, 0x00FC, 0x200E, 0x200F, 0x06D2,
};
const DoubleByteEncoding::Mapping Windows1256Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows1256Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x00A8 },
{ 0x00A9, 0x00A9 }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x00AF }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 },
{ 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 }, { 0x00B8, 0x00B8 }, { 0x00B9, 0x00B9 },
{ 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00D7, 0x00D7 }, { 0x00E0, 0x00E0 }, { 0x00E2, 0x00E2 }, { 0x00E7, 0x00E7 },
{ 0x00E8, 0x00E8 }, { 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA }, { 0x00EB, 0x00EB }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F4, 0x00F4 }, { 0x00F7, 0x00F7 },
{ 0x00F9, 0x00F9 }, { 0x00FB, 0x00FB }, { 0x00FC, 0x00FC }, { 0x0152, 0x008C }, { 0x0153, 0x009C }, { 0x0192, 0x0083 }, { 0x02C6, 0x0088 }, { 0x060C, 0x00A1 },
{ 0x061B, 0x00BA }, { 0x061F, 0x00BF }, { 0x0621, 0x00C1 }, { 0x0622, 0x00C2 }, { 0x0623, 0x00C3 }, { 0x0624, 0x00C4 }, { 0x0625, 0x00C5 }, { 0x0626, 0x00C6 },
{ 0x0627, 0x00C7 }, { 0x0628, 0x00C8 }, { 0x0629, 0x00C9 }, { 0x062A, 0x00CA }, { 0x062B, 0x00CB }, { 0x062C, 0x00CC }, { 0x062D, 0x00CD }, { 0x062E, 0x00CE },
{ 0x062F, 0x00CF }, { 0x0630, 0x00D0 }, { 0x0631, 0x00D1 }, { 0x0632, 0x00D2 }, { 0x0633, 0x00D3 }, { 0x0634, 0x00D4 }, { 0x0635, 0x00D5 }, { 0x0636, 0x00D6 },
{ 0x0637, 0x00D8 }, { 0x0638, 0x00D9 }, { 0x0639, 0x00DA }, { 0x063A, 0x00DB }, { 0x0640, 0x00DC }, { 0x0641, 0x00DD }, { 0x0642, 0x00DE }, { 0x0643, 0x00DF },
{ 0x0644, 0x00E1 }, { 0x0645, 0x00E3 }, { 0x0646, 0x00E4 }, { 0x0647, 0x00E5 }, { 0x0648, 0x00E6 }, { 0x0649, 0x00EC }, { 0x064A, 0x00ED }, { 0x064B, 0x00F0 },
{ 0x064C, 0x00F1 }, { 0x064D, 0x00F2 }, { 0x064E, 0x00F3 }, { 0x064F, 0x00F5 }, { 0x0650, 0x00F6 }, { 0x0651, 0x00F8 }, { 0x0652, 0x00FA }, { 0x0679, 0x008A },
{ 0x067E, 0x0081 }, { 0x0686, 0x008D }, { 0x0688, 0x008F }, { 0x0691, 0x009A }, { 0x0698, 0x008E }, { 0x06A9, 0x0098 }, { 0x06AF, 0x0090 }, { 0x06BA, 0x009F },
{ 0x06BE, 0x00AA }, { 0x06C1, 0x00C0 }, { 0x06D2, 0x00FF }, { 0x200C, 0x009D }, { 0x200D, 0x009E }, { 0x200E, 0x00FD }, { 0x200F, 0x00FE }, { 0x2013, 0x0096 },
{ 0x2014, 0x0097 }, { 0x2018, 0x0091 }, { 0x2019, 0x0092 }, { 0x201A, 0x0082 }, { 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x201E, 0x0084 }, { 0x2020, 0x0086 },
{ 0x2021, 0x0087 }, { 0x2022, 0x0095 }, { 0x2026, 0x0085 }, { 0x2030, 0x0089 }, { 0x2039, 0x008B }, { 0x203A, 0x009B }, { 0x20AC, 0x0080 }, { 0x2122, 0x0099 },
};
Windows1256Encoding::Windows1256Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows1256Encoding::~Windows1256Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// Windows1257Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows1257Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows1257Encoding.h"
namespace Poco {
const char* Windows1257Encoding::_names[] =
{
"windows-1257",
"Windows-1257",
"cp1257",
"CP1257",
NULL
};
const TextEncoding::CharacterMap Windows1257Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, -1, 0x201A, -1, 0x201E, 0x2026, 0x2020, 0x2021, -1, 0x2030, -1, 0x2039, -1, 0x00A8, 0x02C7, 0x00B8,
-1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, -1, 0x2122, -1, 0x203A, -1, 0x00AF, 0x02DB, -1,
0x00A0, -1, 0x00A2, 0x00A3, 0x00A4, -1, 0x00A6, 0x00A7, 0x00D8, 0x00A9, 0x0156, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00C6,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00F8, 0x00B9, 0x0157, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00E6,
0x0104, 0x012E, 0x0100, 0x0106, 0x00C4, 0x00C5, 0x0118, 0x0112, 0x010C, 0x00C9, 0x0179, 0x0116, 0x0122, 0x0136, 0x012A, 0x013B,
0x0160, 0x0143, 0x0145, 0x00D3, 0x014C, 0x00D5, 0x00D6, 0x00D7, 0x0172, 0x0141, 0x015A, 0x016A, 0x00DC, 0x017B, 0x017D, 0x00DF,
0x0105, 0x012F, 0x0101, 0x0107, 0x00E4, 0x00E5, 0x0119, 0x0113, 0x010D, 0x00E9, 0x017A, 0x0117, 0x0123, 0x0137, 0x012B, 0x013C,
0x0161, 0x0144, 0x0146, 0x00F3, 0x014D, 0x00F5, 0x00F6, 0x00F7, 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9,
};
const DoubleByteEncoding::Mapping Windows1257Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows1257Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 }, { 0x00A8, 0x008D }, { 0x00A9, 0x00A9 },
{ 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x009D }, { 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 },
{ 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 }, { 0x00B8, 0x008F }, { 0x00B9, 0x00B9 }, { 0x00BB, 0x00BB },
{ 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00AF }, { 0x00C9, 0x00C9 }, { 0x00D3, 0x00D3 },
{ 0x00D5, 0x00D5 }, { 0x00D6, 0x00D6 }, { 0x00D7, 0x00D7 }, { 0x00D8, 0x00A8 }, { 0x00DC, 0x00DC }, { 0x00DF, 0x00DF }, { 0x00E4, 0x00E4 }, { 0x00E5, 0x00E5 },
{ 0x00E6, 0x00BF }, { 0x00E9, 0x00E9 }, { 0x00F3, 0x00F3 }, { 0x00F5, 0x00F5 }, { 0x00F6, 0x00F6 }, { 0x00F7, 0x00F7 }, { 0x00F8, 0x00B8 }, { 0x00FC, 0x00FC },
{ 0x0100, 0x00C2 }, { 0x0101, 0x00E2 }, { 0x0104, 0x00C0 }, { 0x0105, 0x00E0 }, { 0x0106, 0x00C3 }, { 0x0107, 0x00E3 }, { 0x010C, 0x00C8 }, { 0x010D, 0x00E8 },
{ 0x0112, 0x00C7 }, { 0x0113, 0x00E7 }, { 0x0116, 0x00CB }, { 0x0117, 0x00EB }, { 0x0118, 0x00C6 }, { 0x0119, 0x00E6 }, { 0x0122, 0x00CC }, { 0x0123, 0x00EC },
{ 0x012A, 0x00CE }, { 0x012B, 0x00EE }, { 0x012E, 0x00C1 }, { 0x012F, 0x00E1 }, { 0x0136, 0x00CD }, { 0x0137, 0x00ED }, { 0x013B, 0x00CF }, { 0x013C, 0x00EF },
{ 0x0141, 0x00D9 }, { 0x0142, 0x00F9 }, { 0x0143, 0x00D1 }, { 0x0144, 0x00F1 }, { 0x0145, 0x00D2 }, { 0x0146, 0x00F2 }, { 0x014C, 0x00D4 }, { 0x014D, 0x00F4 },
{ 0x0156, 0x00AA }, { 0x0157, 0x00BA }, { 0x015A, 0x00DA }, { 0x015B, 0x00FA }, { 0x0160, 0x00D0 }, { 0x0161, 0x00F0 }, { 0x016A, 0x00DB }, { 0x016B, 0x00FB },
{ 0x0172, 0x00D8 }, { 0x0173, 0x00F8 }, { 0x0179, 0x00CA }, { 0x017A, 0x00EA }, { 0x017B, 0x00DD }, { 0x017C, 0x00FD }, { 0x017D, 0x00DE }, { 0x017E, 0x00FE },
{ 0x02C7, 0x008E }, { 0x02D9, 0x00FF }, { 0x02DB, 0x009E }, { 0x2013, 0x0096 }, { 0x2014, 0x0097 }, { 0x2018, 0x0091 }, { 0x2019, 0x0092 }, { 0x201A, 0x0082 },
{ 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x201E, 0x0084 }, { 0x2020, 0x0086 }, { 0x2021, 0x0087 }, { 0x2022, 0x0095 }, { 0x2026, 0x0085 }, { 0x2030, 0x0089 },
{ 0x2039, 0x008B }, { 0x203A, 0x009B }, { 0x20AC, 0x0080 }, { 0x2122, 0x0099 },
};
Windows1257Encoding::Windows1257Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows1257Encoding::~Windows1257Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,103 @@
//
// Windows1258Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows1258Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows1258Encoding.h"
namespace Poco {
const char* Windows1258Encoding::_names[] =
{
"windows-1258",
"Windows-1258",
"cp1258",
"CP1258",
NULL
};
const TextEncoding::CharacterMap Windows1258Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, -1, 0x201A, 0x0192, 0x201E, 0x2026, 0x2020, 0x2021, 0x02C6, 0x2030, -1, 0x2039, 0x0152, -1, -1, -1,
-1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, 0x02DC, 0x2122, -1, 0x203A, 0x0153, -1, -1, 0x0178,
0x00A0, 0x00A1, 0x00A2, 0x00A3, 0x00A4, 0x00A5, 0x00A6, 0x00A7, 0x00A8, 0x00A9, 0x00AA, 0x00AB, 0x00AC, 0x00AD, 0x00AE, 0x00AF,
0x00B0, 0x00B1, 0x00B2, 0x00B3, 0x00B4, 0x00B5, 0x00B6, 0x00B7, 0x00B8, 0x00B9, 0x00BA, 0x00BB, 0x00BC, 0x00BD, 0x00BE, 0x00BF,
0x00C0, 0x00C1, 0x00C2, 0x0102, 0x00C4, 0x00C5, 0x00C6, 0x00C7, 0x00C8, 0x00C9, 0x00CA, 0x00CB, 0x0300, 0x00CD, 0x00CE, 0x00CF,
0x0110, 0x00D1, 0x0309, 0x00D3, 0x00D4, 0x01A0, 0x00D6, 0x00D7, 0x00D8, 0x00D9, 0x00DA, 0x00DB, 0x00DC, 0x01AF, 0x0303, 0x00DF,
0x00E0, 0x00E1, 0x00E2, 0x0103, 0x00E4, 0x00E5, 0x00E6, 0x00E7, 0x00E8, 0x00E9, 0x00EA, 0x00EB, 0x0301, 0x00ED, 0x00EE, 0x00EF,
0x0111, 0x00F1, 0x0323, 0x00F3, 0x00F4, 0x01A1, 0x00F6, 0x00F7, 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x01B0, 0x20AB, 0x00FF,
};
const DoubleByteEncoding::Mapping Windows1258Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows1258Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x00A1, 0x00A1 }, { 0x00A2, 0x00A2 }, { 0x00A3, 0x00A3 }, { 0x00A4, 0x00A4 }, { 0x00A5, 0x00A5 }, { 0x00A6, 0x00A6 }, { 0x00A7, 0x00A7 },
{ 0x00A8, 0x00A8 }, { 0x00A9, 0x00A9 }, { 0x00AA, 0x00AA }, { 0x00AB, 0x00AB }, { 0x00AC, 0x00AC }, { 0x00AD, 0x00AD }, { 0x00AE, 0x00AE }, { 0x00AF, 0x00AF },
{ 0x00B0, 0x00B0 }, { 0x00B1, 0x00B1 }, { 0x00B2, 0x00B2 }, { 0x00B3, 0x00B3 }, { 0x00B4, 0x00B4 }, { 0x00B5, 0x00B5 }, { 0x00B6, 0x00B6 }, { 0x00B7, 0x00B7 },
{ 0x00B8, 0x00B8 }, { 0x00B9, 0x00B9 }, { 0x00BA, 0x00BA }, { 0x00BB, 0x00BB }, { 0x00BC, 0x00BC }, { 0x00BD, 0x00BD }, { 0x00BE, 0x00BE }, { 0x00BF, 0x00BF },
{ 0x00C0, 0x00C0 }, { 0x00C1, 0x00C1 }, { 0x00C2, 0x00C2 }, { 0x00C4, 0x00C4 }, { 0x00C5, 0x00C5 }, { 0x00C6, 0x00C6 }, { 0x00C7, 0x00C7 }, { 0x00C8, 0x00C8 },
{ 0x00C9, 0x00C9 }, { 0x00CA, 0x00CA }, { 0x00CB, 0x00CB }, { 0x00CD, 0x00CD }, { 0x00CE, 0x00CE }, { 0x00CF, 0x00CF }, { 0x00D1, 0x00D1 }, { 0x00D3, 0x00D3 },
{ 0x00D4, 0x00D4 }, { 0x00D6, 0x00D6 }, { 0x00D7, 0x00D7 }, { 0x00D8, 0x00D8 }, { 0x00D9, 0x00D9 }, { 0x00DA, 0x00DA }, { 0x00DB, 0x00DB }, { 0x00DC, 0x00DC },
{ 0x00DF, 0x00DF }, { 0x00E0, 0x00E0 }, { 0x00E1, 0x00E1 }, { 0x00E2, 0x00E2 }, { 0x00E4, 0x00E4 }, { 0x00E5, 0x00E5 }, { 0x00E6, 0x00E6 }, { 0x00E7, 0x00E7 },
{ 0x00E8, 0x00E8 }, { 0x00E9, 0x00E9 }, { 0x00EA, 0x00EA }, { 0x00EB, 0x00EB }, { 0x00ED, 0x00ED }, { 0x00EE, 0x00EE }, { 0x00EF, 0x00EF }, { 0x00F1, 0x00F1 },
{ 0x00F3, 0x00F3 }, { 0x00F4, 0x00F4 }, { 0x00F6, 0x00F6 }, { 0x00F7, 0x00F7 }, { 0x00F8, 0x00F8 }, { 0x00F9, 0x00F9 }, { 0x00FA, 0x00FA }, { 0x00FB, 0x00FB },
{ 0x00FC, 0x00FC }, { 0x00FF, 0x00FF }, { 0x0102, 0x00C3 }, { 0x0103, 0x00E3 }, { 0x0110, 0x00D0 }, { 0x0111, 0x00F0 }, { 0x0152, 0x008C }, { 0x0153, 0x009C },
{ 0x0178, 0x009F }, { 0x0192, 0x0083 }, { 0x01A0, 0x00D5 }, { 0x01A1, 0x00F5 }, { 0x01AF, 0x00DD }, { 0x01B0, 0x00FD }, { 0x02C6, 0x0088 }, { 0x02DC, 0x0098 },
{ 0x0300, 0x00CC }, { 0x0301, 0x00EC }, { 0x0303, 0x00DE }, { 0x0309, 0x00D2 }, { 0x0323, 0x00F2 }, { 0x2013, 0x0096 }, { 0x2014, 0x0097 }, { 0x2018, 0x0091 },
{ 0x2019, 0x0092 }, { 0x201A, 0x0082 }, { 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x201E, 0x0084 }, { 0x2020, 0x0086 }, { 0x2021, 0x0087 }, { 0x2022, 0x0095 },
{ 0x2026, 0x0085 }, { 0x2030, 0x0089 }, { 0x2039, 0x008B }, { 0x203A, 0x009B }, { 0x20AB, 0x00FE }, { 0x20AC, 0x0080 }, { 0x2122, 0x0099 },
};
Windows1258Encoding::Windows1258Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows1258Encoding::~Windows1258Encoding()
{
}
} // namespace Poco

View File

@ -0,0 +1,101 @@
//
// Windows874Encoding.cpp
//
// Library: Encodings
// Package: Encodings
// Module: Windows874Encoding
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: BSL-1.0
//
#include "Poco/Windows874Encoding.h"
namespace Poco {
const char* Windows874Encoding::_names[] =
{
"windows-874",
"Windows-874",
"cp874",
"CP874",
NULL
};
const TextEncoding::CharacterMap Windows874Encoding::_charMap =
{
0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x000F,
0x0010, 0x0011, 0x0012, 0x0013, 0x0014, 0x0015, 0x0016, 0x0017, 0x0018, 0x0019, 0x001A, 0x001B, 0x001C, 0x001D, 0x001E, 0x001F,
0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0028, 0x0029, 0x002A, 0x002B, 0x002C, 0x002D, 0x002E, 0x002F,
0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x003B, 0x003C, 0x003D, 0x003E, 0x003F,
0x0040, 0x0041, 0x0042, 0x0043, 0x0044, 0x0045, 0x0046, 0x0047, 0x0048, 0x0049, 0x004A, 0x004B, 0x004C, 0x004D, 0x004E, 0x004F,
0x0050, 0x0051, 0x0052, 0x0053, 0x0054, 0x0055, 0x0056, 0x0057, 0x0058, 0x0059, 0x005A, 0x005B, 0x005C, 0x005D, 0x005E, 0x005F,
0x0060, 0x0061, 0x0062, 0x0063, 0x0064, 0x0065, 0x0066, 0x0067, 0x0068, 0x0069, 0x006A, 0x006B, 0x006C, 0x006D, 0x006E, 0x006F,
0x0070, 0x0071, 0x0072, 0x0073, 0x0074, 0x0075, 0x0076, 0x0077, 0x0078, 0x0079, 0x007A, 0x007B, 0x007C, 0x007D, 0x007E, 0x007F,
0x20AC, -1, -1, -1, -1, 0x2026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 0x2018, 0x2019, 0x201C, 0x201D, 0x2022, 0x2013, 0x2014, -1, -1, -1, -1, -1, -1, -1, -1,
0x00A0, 0x0E01, 0x0E02, 0x0E03, 0x0E04, 0x0E05, 0x0E06, 0x0E07, 0x0E08, 0x0E09, 0x0E0A, 0x0E0B, 0x0E0C, 0x0E0D, 0x0E0E, 0x0E0F,
0x0E10, 0x0E11, 0x0E12, 0x0E13, 0x0E14, 0x0E15, 0x0E16, 0x0E17, 0x0E18, 0x0E19, 0x0E1A, 0x0E1B, 0x0E1C, 0x0E1D, 0x0E1E, 0x0E1F,
0x0E20, 0x0E21, 0x0E22, 0x0E23, 0x0E24, 0x0E25, 0x0E26, 0x0E27, 0x0E28, 0x0E29, 0x0E2A, 0x0E2B, 0x0E2C, 0x0E2D, 0x0E2E, 0x0E2F,
0x0E30, 0x0E31, 0x0E32, 0x0E33, 0x0E34, 0x0E35, 0x0E36, 0x0E37, 0x0E38, 0x0E39, 0x0E3A, -1, -1, -1, -1, 0x0E3F,
0x0E40, 0x0E41, 0x0E42, 0x0E43, 0x0E44, 0x0E45, 0x0E46, 0x0E47, 0x0E48, 0x0E49, 0x0E4A, 0x0E4B, 0x0E4C, 0x0E4D, 0x0E4E, 0x0E4F,
0x0E50, 0x0E51, 0x0E52, 0x0E53, 0x0E54, 0x0E55, 0x0E56, 0x0E57, 0x0E58, 0x0E59, 0x0E5A, 0x0E5B, -1, -1, -1, -1,
};
const DoubleByteEncoding::Mapping Windows874Encoding::_mappingTable[] = {
{ 0x0000, 0x0000 } // dummy entry
};
const DoubleByteEncoding::Mapping Windows874Encoding::_reverseMappingTable[] = {
{ 0x0000, 0x0000 }, { 0x0001, 0x0001 }, { 0x0002, 0x0002 }, { 0x0003, 0x0003 }, { 0x0004, 0x0004 }, { 0x0005, 0x0005 }, { 0x0006, 0x0006 }, { 0x0007, 0x0007 },
{ 0x0008, 0x0008 }, { 0x0009, 0x0009 }, { 0x000A, 0x000A }, { 0x000B, 0x000B }, { 0x000C, 0x000C }, { 0x000D, 0x000D }, { 0x000E, 0x000E }, { 0x000F, 0x000F },
{ 0x0010, 0x0010 }, { 0x0011, 0x0011 }, { 0x0012, 0x0012 }, { 0x0013, 0x0013 }, { 0x0014, 0x0014 }, { 0x0015, 0x0015 }, { 0x0016, 0x0016 }, { 0x0017, 0x0017 },
{ 0x0018, 0x0018 }, { 0x0019, 0x0019 }, { 0x001A, 0x001A }, { 0x001B, 0x001B }, { 0x001C, 0x001C }, { 0x001D, 0x001D }, { 0x001E, 0x001E }, { 0x001F, 0x001F },
{ 0x0020, 0x0020 }, { 0x0021, 0x0021 }, { 0x0022, 0x0022 }, { 0x0023, 0x0023 }, { 0x0024, 0x0024 }, { 0x0025, 0x0025 }, { 0x0026, 0x0026 }, { 0x0027, 0x0027 },
{ 0x0028, 0x0028 }, { 0x0029, 0x0029 }, { 0x002A, 0x002A }, { 0x002B, 0x002B }, { 0x002C, 0x002C }, { 0x002D, 0x002D }, { 0x002E, 0x002E }, { 0x002F, 0x002F },
{ 0x0030, 0x0030 }, { 0x0031, 0x0031 }, { 0x0032, 0x0032 }, { 0x0033, 0x0033 }, { 0x0034, 0x0034 }, { 0x0035, 0x0035 }, { 0x0036, 0x0036 }, { 0x0037, 0x0037 },
{ 0x0038, 0x0038 }, { 0x0039, 0x0039 }, { 0x003A, 0x003A }, { 0x003B, 0x003B }, { 0x003C, 0x003C }, { 0x003D, 0x003D }, { 0x003E, 0x003E }, { 0x003F, 0x003F },
{ 0x0040, 0x0040 }, { 0x0041, 0x0041 }, { 0x0042, 0x0042 }, { 0x0043, 0x0043 }, { 0x0044, 0x0044 }, { 0x0045, 0x0045 }, { 0x0046, 0x0046 }, { 0x0047, 0x0047 },
{ 0x0048, 0x0048 }, { 0x0049, 0x0049 }, { 0x004A, 0x004A }, { 0x004B, 0x004B }, { 0x004C, 0x004C }, { 0x004D, 0x004D }, { 0x004E, 0x004E }, { 0x004F, 0x004F },
{ 0x0050, 0x0050 }, { 0x0051, 0x0051 }, { 0x0052, 0x0052 }, { 0x0053, 0x0053 }, { 0x0054, 0x0054 }, { 0x0055, 0x0055 }, { 0x0056, 0x0056 }, { 0x0057, 0x0057 },
{ 0x0058, 0x0058 }, { 0x0059, 0x0059 }, { 0x005A, 0x005A }, { 0x005B, 0x005B }, { 0x005C, 0x005C }, { 0x005D, 0x005D }, { 0x005E, 0x005E }, { 0x005F, 0x005F },
{ 0x0060, 0x0060 }, { 0x0061, 0x0061 }, { 0x0062, 0x0062 }, { 0x0063, 0x0063 }, { 0x0064, 0x0064 }, { 0x0065, 0x0065 }, { 0x0066, 0x0066 }, { 0x0067, 0x0067 },
{ 0x0068, 0x0068 }, { 0x0069, 0x0069 }, { 0x006A, 0x006A }, { 0x006B, 0x006B }, { 0x006C, 0x006C }, { 0x006D, 0x006D }, { 0x006E, 0x006E }, { 0x006F, 0x006F },
{ 0x0070, 0x0070 }, { 0x0071, 0x0071 }, { 0x0072, 0x0072 }, { 0x0073, 0x0073 }, { 0x0074, 0x0074 }, { 0x0075, 0x0075 }, { 0x0076, 0x0076 }, { 0x0077, 0x0077 },
{ 0x0078, 0x0078 }, { 0x0079, 0x0079 }, { 0x007A, 0x007A }, { 0x007B, 0x007B }, { 0x007C, 0x007C }, { 0x007D, 0x007D }, { 0x007E, 0x007E }, { 0x007F, 0x007F },
{ 0x00A0, 0x00A0 }, { 0x0E01, 0x00A1 }, { 0x0E02, 0x00A2 }, { 0x0E03, 0x00A3 }, { 0x0E04, 0x00A4 }, { 0x0E05, 0x00A5 }, { 0x0E06, 0x00A6 }, { 0x0E07, 0x00A7 },
{ 0x0E08, 0x00A8 }, { 0x0E09, 0x00A9 }, { 0x0E0A, 0x00AA }, { 0x0E0B, 0x00AB }, { 0x0E0C, 0x00AC }, { 0x0E0D, 0x00AD }, { 0x0E0E, 0x00AE }, { 0x0E0F, 0x00AF },
{ 0x0E10, 0x00B0 }, { 0x0E11, 0x00B1 }, { 0x0E12, 0x00B2 }, { 0x0E13, 0x00B3 }, { 0x0E14, 0x00B4 }, { 0x0E15, 0x00B5 }, { 0x0E16, 0x00B6 }, { 0x0E17, 0x00B7 },
{ 0x0E18, 0x00B8 }, { 0x0E19, 0x00B9 }, { 0x0E1A, 0x00BA }, { 0x0E1B, 0x00BB }, { 0x0E1C, 0x00BC }, { 0x0E1D, 0x00BD }, { 0x0E1E, 0x00BE }, { 0x0E1F, 0x00BF },
{ 0x0E20, 0x00C0 }, { 0x0E21, 0x00C1 }, { 0x0E22, 0x00C2 }, { 0x0E23, 0x00C3 }, { 0x0E24, 0x00C4 }, { 0x0E25, 0x00C5 }, { 0x0E26, 0x00C6 }, { 0x0E27, 0x00C7 },
{ 0x0E28, 0x00C8 }, { 0x0E29, 0x00C9 }, { 0x0E2A, 0x00CA }, { 0x0E2B, 0x00CB }, { 0x0E2C, 0x00CC }, { 0x0E2D, 0x00CD }, { 0x0E2E, 0x00CE }, { 0x0E2F, 0x00CF },
{ 0x0E30, 0x00D0 }, { 0x0E31, 0x00D1 }, { 0x0E32, 0x00D2 }, { 0x0E33, 0x00D3 }, { 0x0E34, 0x00D4 }, { 0x0E35, 0x00D5 }, { 0x0E36, 0x00D6 }, { 0x0E37, 0x00D7 },
{ 0x0E38, 0x00D8 }, { 0x0E39, 0x00D9 }, { 0x0E3A, 0x00DA }, { 0x0E3F, 0x00DF }, { 0x0E40, 0x00E0 }, { 0x0E41, 0x00E1 }, { 0x0E42, 0x00E2 }, { 0x0E43, 0x00E3 },
{ 0x0E44, 0x00E4 }, { 0x0E45, 0x00E5 }, { 0x0E46, 0x00E6 }, { 0x0E47, 0x00E7 }, { 0x0E48, 0x00E8 }, { 0x0E49, 0x00E9 }, { 0x0E4A, 0x00EA }, { 0x0E4B, 0x00EB },
{ 0x0E4C, 0x00EC }, { 0x0E4D, 0x00ED }, { 0x0E4E, 0x00EE }, { 0x0E4F, 0x00EF }, { 0x0E50, 0x00F0 }, { 0x0E51, 0x00F1 }, { 0x0E52, 0x00F2 }, { 0x0E53, 0x00F3 },
{ 0x0E54, 0x00F4 }, { 0x0E55, 0x00F5 }, { 0x0E56, 0x00F6 }, { 0x0E57, 0x00F7 }, { 0x0E58, 0x00F8 }, { 0x0E59, 0x00F9 }, { 0x0E5A, 0x00FA }, { 0x0E5B, 0x00FB },
{ 0x2013, 0x0096 }, { 0x2014, 0x0097 }, { 0x2018, 0x0091 }, { 0x2019, 0x0092 }, { 0x201C, 0x0093 }, { 0x201D, 0x0094 }, { 0x2022, 0x0095 }, { 0x2026, 0x0085 },
{ 0x20AC, 0x0080 },
};
Windows874Encoding::Windows874Encoding():
DoubleByteEncoding(_names, _charMap, _mappingTable, sizeof(_mappingTable)/sizeof(Mapping), _reverseMappingTable, sizeof(_reverseMappingTable)/sizeof(Mapping))
{
}
Windows874Encoding::~Windows874Encoding()
{
}
} // namespace Poco

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,26 @@
set(TESTUNIT "${LIBNAME}-testrunner")
# Sources
file(GLOB SRCS_G "src/*.cpp")
POCO_SOURCES_AUTO( TEST_SRCS ${SRCS_G})
# Headers
file(GLOB_RECURSE HDRS_G "src/*.h" )
POCO_HEADERS_AUTO( TEST_SRCS ${HDRS_G})
POCO_SOURCES_AUTO_PLAT( TEST_SRCS OFF
src/WinDriver.cpp
)
POCO_SOURCES_AUTO_PLAT( TEST_SRCS WINCE
src/WinCEDriver.cpp
)
add_executable( ${TESTUNIT} ${TEST_SRCS} )
add_test(NAME ${LIBNAME} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${TESTUNIT} -all)
#set_target_properties( ${TESTUNIT} PROPERTIES COMPILE_FLAGS ${RELEASE_CXX_FLAGS} )
target_link_libraries( ${TESTUNIT} PocoEncodings PocoFoundation CppUnit )
# The test is run in the build directory. So the test data is copied there too
add_custom_command(TARGET ${TESTUNIT} POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/data ${CMAKE_CURRENT_BINARY_DIR}/data )

View File

@ -0,0 +1,16 @@
#
# Makefile
#
# Makefile for Poco Encodings testsuite
#
include $(POCO_BASE)/build/rules/global
objects = EncodingsTestSuite Driver \
DoubleByteEncodingTest
target = testrunner
target_version = 1
target_libs = PocoEncodings PocoFoundation CppUnit
include $(POCO_BASE)/build/rules/exec

View File

@ -0,0 +1,9 @@
vc.project.guid = 7784E068-96B2-4DDC-BA8B-780206E06B30
vc.project.name = TestSuite
vc.project.target = TestSuite
vc.project.type = testsuite
vc.project.pocobase = ..\\..
vc.project.platforms = Win32, x64, WinCE
vc.project.configurations = debug_shared, release_shared, debug_static_mt, release_static_mt, debug_static_md, release_static_md
vc.project.prototype = TestSuite_vs90.vcproj
vc.project.compiler.include = ..\\..\\Foundation\\include;..\\..\\Encodings\\include

View File

@ -0,0 +1,127 @@
//
// DoubleByteEncodingTest.cpp
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: Apache-2.0
//
#include "DoubleByteEncodingTest.h"
#include "CppUnit/TestCaller.h"
#include "CppUnit/TestSuite.h"
#include "Poco/ISO8859_4Encoding.h"
#include "Poco/Windows950Encoding.h"
DoubleByteEncodingTest::DoubleByteEncodingTest(const std::string& name): CppUnit::TestCase(name)
{
}
DoubleByteEncodingTest::~DoubleByteEncodingTest()
{
}
void DoubleByteEncodingTest::testSingleByte()
{
Poco::ISO8859_4Encoding enc;
assert (std::string(enc.canonicalName()) == "ISO-8859-4");
assert (enc.isA("Latin4"));
unsigned char seq1[] = { 0xF8 }; // 0x00F8 LATIN SMALL LETTER O WITH STROKE
assert (enc.convert(seq1) == 0x00F8);
assert (enc.queryConvert(seq1, 1) == 0x00F8);
assert (enc.sequenceLength(seq1, 1) == 1);
unsigned char seq2[] = { 0xF9 }; // 0x0173 LATIN SMALL LETTER U WITH OGONEK
assert (enc.convert(seq2) == 0x0173);
assert (enc.queryConvert(seq2, 1) == 0x0173);
assert (enc.sequenceLength(seq2, 1) == 1);
}
void DoubleByteEncodingTest::testSingleByteReverse()
{
Poco::ISO8859_4Encoding enc;
unsigned char seq[2];
assert (enc.convert(0x00F8, seq, 2) == 1);
assert (seq[0] == 0xF8);
assert (enc.convert(0x0173, seq, 2) == 1);
assert (seq[0] == 0xF9);
assert (enc.convert(0x3000, seq, 2) == 0);
}
void DoubleByteEncodingTest::testDoubleByte()
{
Poco::Windows950Encoding enc;
assert (std::string(enc.canonicalName()) == "windows-950");
assert (enc.isA("Windows-950"));
assert (enc.isA("cp950"));
unsigned char seq1[] = { 0x41 }; // 0x0041 LATIN CAPITAL LETTER A
assert (enc.convert(seq1) == 0x0041);
assert (enc.queryConvert(seq1, 1) == 0x0041);
assert (enc.sequenceLength(seq1, 1) == 1);
unsigned char seq2[] = { 0xA1, 0x40 }; // 0x3000 IDEOGRAPHIC SPACE
assert (enc.convert(seq2) == 0x3000);
assert (enc.queryConvert(seq2, 1) == -2);
assert (enc.queryConvert(seq2, 2) == 0x3000);
assert (enc.sequenceLength(seq2, 1) == 2);
assert (enc.sequenceLength(seq2, 2) == 2);
unsigned char seq3[] = { 0x92 }; // invalid
assert (enc.convert(seq3) == -1);
assert (enc.queryConvert(seq3, 1) == -1);
assert (enc.sequenceLength(seq3, 1) == -1);
}
void DoubleByteEncodingTest::testDoubleByteReverse()
{
Poco::Windows950Encoding enc;
unsigned char seq[2];
assert (enc.convert(0x0041, seq, 2) == 1);
assert (seq[0] == 0x41);
assert (enc.convert(0x3000, seq, 2) == 2);
assert (seq[0] == 0xA1);
assert (seq[1] == 0x40);
assert (enc.convert(0x3004, seq, 2) == 0);
}
void DoubleByteEncodingTest::setUp()
{
}
void DoubleByteEncodingTest::tearDown()
{
}
CppUnit::Test* DoubleByteEncodingTest::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("DoubleByteEncodingTest");
CppUnit_addTest(pSuite, DoubleByteEncodingTest, testSingleByte);
CppUnit_addTest(pSuite, DoubleByteEncodingTest, testSingleByteReverse);
CppUnit_addTest(pSuite, DoubleByteEncodingTest, testDoubleByte);
CppUnit_addTest(pSuite, DoubleByteEncodingTest, testDoubleByteReverse);
return pSuite;
}

View File

@ -0,0 +1,40 @@
//
// DoubleByteEncodingTest.h
//
// Definition of the DoubleByteEncodingTest class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: Apache-2.0
//
#ifndef DoubleByteEncodingTest_INCLUDED
#define DoubleByteEncodingTest_INCLUDED
#include "CppUnit/TestCase.h"
class DoubleByteEncodingTest: public CppUnit::TestCase
{
public:
DoubleByteEncodingTest(const std::string& name);
~DoubleByteEncodingTest();
void testSingleByte();
void testSingleByteReverse();
void testDoubleByte();
void testDoubleByteReverse();
void setUp();
void tearDown();
static CppUnit::Test* suite();
private:
};
#endif // DoubleByteEncodingTest_INCLUDED

View File

@ -0,0 +1,17 @@
//
// Driver.cpp
//
// Console-based test driver for Poco Encodings.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: Apache-2.0
//
#include "CppUnit/TestRunner.h"
#include "EncodingsTestSuite.h"
CppUnitMain(EncodingsTestSuite)

View File

@ -0,0 +1,22 @@
//
// EncodingsTestSuite.cpp
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: Apache-2.0
//
#include "EncodingsTestSuite.h"
#include "DoubleByteEncodingTest.h"
CppUnit::Test* EncodingsTestSuite::suite()
{
CppUnit::TestSuite* pSuite = new CppUnit::TestSuite("EncodingsTestSuite");
pSuite->addTest(DoubleByteEncodingTest::suite());
return pSuite;
}

View File

@ -0,0 +1,27 @@
//
// EncodingsTestSuite.h
//
// Definition of the EncodingsTestSuite class.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: Apache-2.0
//
#ifndef EncodingsTestSuite_INCLUDED
#define EncodingsTestSuite_INCLUDED
#include "CppUnit/TestSuite.h"
class EncodingsTestSuite
{
public:
static CppUnit::Test* suite();
};
#endif // EncodingsTestSuite_INCLUDED

View File

@ -0,0 +1,28 @@
//
// WinDriver.cpp
//
// Windows test driver for Poco Encodings.
//
// Copyright (c) 2018, Applied Informatics Software Engineering GmbH.
// and Contributors.
//
// SPDX-License-Identifier: Apache-2.0
//
#include "WinTestRunner/WinTestRunner.h"
#include "EncodingsTestSuite.h"
class TestDriver: public CppUnit::WinTestRunnerApp
{
void TestMain()
{
CppUnit::WinTestRunner runner;
runner.addTest(EncodingsTestSuite::suite());
runner.run();
}
};
TestDriver theDriver;

View File

@ -1,6 +1,7 @@
CppUnit
CppUnit/WinTestRunner
Foundation
Encodings
XML
JSON
Util