mirror of
https://github.com/pocoproject/poco.git
synced 2024-12-12 10:13:51 +01:00
added Encodings library
This commit is contained in:
parent
f1cd23b71b
commit
37b0c377a9
35
Encodings/CMakeLists.txt
Normal file
35
Encodings/CMakeLists.txt
Normal 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 ()
|
15
Encodings/Compiler/Makefile
Normal file
15
Encodings/Compiler/Makefile
Normal 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
|
389
Encodings/Compiler/src/TextEncodingCompiler.cpp
Normal file
389
Encodings/Compiler/src/TextEncodingCompiler.cpp
Normal 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"
|
||||||
|
);
|
||||||
|
|
16
Encodings/Encodings.progen
Normal file
16
Encodings/Encodings.progen
Normal 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
40
Encodings/Makefile
Normal 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
25
Encodings/generateEncodings.sh
Executable 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
|
||||||
|
|
122
Encodings/include/Poco/DoubleByteEncoding.h
Normal file
122
Encodings/include/Poco/DoubleByteEncoding.h
Normal 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
|
73
Encodings/include/Poco/Encodings.h
Normal file
73
Encodings/include/Poco/Encodings.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_10Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_10Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_11Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_11Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_13Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_13Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_14Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_14Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_16Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_16Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_3Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_3Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_4Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_4Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_5Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_5Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_6Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_6Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_7Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_7Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_8Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_8Encoding.h
Normal 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
|
48
Encodings/include/Poco/ISO8859_9Encoding.h
Normal file
48
Encodings/include/Poco/ISO8859_9Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows1253Encoding.h
Normal file
48
Encodings/include/Poco/Windows1253Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows1254Encoding.h
Normal file
48
Encodings/include/Poco/Windows1254Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows1255Encoding.h
Normal file
48
Encodings/include/Poco/Windows1255Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows1256Encoding.h
Normal file
48
Encodings/include/Poco/Windows1256Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows1257Encoding.h
Normal file
48
Encodings/include/Poco/Windows1257Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows1258Encoding.h
Normal file
48
Encodings/include/Poco/Windows1258Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows874Encoding.h
Normal file
48
Encodings/include/Poco/Windows874Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows932Encoding.h
Normal file
48
Encodings/include/Poco/Windows932Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows936Encoding.h
Normal file
48
Encodings/include/Poco/Windows936Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows949Encoding.h
Normal file
48
Encodings/include/Poco/Windows949Encoding.h
Normal 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
|
48
Encodings/include/Poco/Windows950Encoding.h
Normal file
48
Encodings/include/Poco/Windows950Encoding.h
Normal 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
|
168
Encodings/src/DoubleByteEncoding.cpp
Normal file
168
Encodings/src/DoubleByteEncoding.cpp
Normal 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
|
74
Encodings/src/Encodings.cpp
Normal file
74
Encodings/src/Encodings.cpp
Normal 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
|
||||||
|
|
103
Encodings/src/ISO8859_10Encoding.cpp
Normal file
103
Encodings/src/ISO8859_10Encoding.cpp
Normal 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
|
100
Encodings/src/ISO8859_11Encoding.cpp
Normal file
100
Encodings/src/ISO8859_11Encoding.cpp
Normal 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
|
103
Encodings/src/ISO8859_13Encoding.cpp
Normal file
103
Encodings/src/ISO8859_13Encoding.cpp
Normal 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
|
103
Encodings/src/ISO8859_14Encoding.cpp
Normal file
103
Encodings/src/ISO8859_14Encoding.cpp
Normal 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
|
103
Encodings/src/ISO8859_16Encoding.cpp
Normal file
103
Encodings/src/ISO8859_16Encoding.cpp
Normal 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
|
103
Encodings/src/ISO8859_3Encoding.cpp
Normal file
103
Encodings/src/ISO8859_3Encoding.cpp
Normal 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
|
103
Encodings/src/ISO8859_4Encoding.cpp
Normal file
103
Encodings/src/ISO8859_4Encoding.cpp
Normal 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
|
101
Encodings/src/ISO8859_5Encoding.cpp
Normal file
101
Encodings/src/ISO8859_5Encoding.cpp
Normal 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
|
96
Encodings/src/ISO8859_6Encoding.cpp
Normal file
96
Encodings/src/ISO8859_6Encoding.cpp
Normal 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
|
101
Encodings/src/ISO8859_7Encoding.cpp
Normal file
101
Encodings/src/ISO8859_7Encoding.cpp
Normal 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
|
97
Encodings/src/ISO8859_8Encoding.cpp
Normal file
97
Encodings/src/ISO8859_8Encoding.cpp
Normal 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
|
103
Encodings/src/ISO8859_9Encoding.cpp
Normal file
103
Encodings/src/ISO8859_9Encoding.cpp
Normal 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
|
102
Encodings/src/Windows1253Encoding.cpp
Normal file
102
Encodings/src/Windows1253Encoding.cpp
Normal 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
|
104
Encodings/src/Windows1254Encoding.cpp
Normal file
104
Encodings/src/Windows1254Encoding.cpp
Normal 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
|
102
Encodings/src/Windows1255Encoding.cpp
Normal file
102
Encodings/src/Windows1255Encoding.cpp
Normal 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
|
104
Encodings/src/Windows1256Encoding.cpp
Normal file
104
Encodings/src/Windows1256Encoding.cpp
Normal 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
|
103
Encodings/src/Windows1257Encoding.cpp
Normal file
103
Encodings/src/Windows1257Encoding.cpp
Normal 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
|
103
Encodings/src/Windows1258Encoding.cpp
Normal file
103
Encodings/src/Windows1258Encoding.cpp
Normal 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
|
101
Encodings/src/Windows874Encoding.cpp
Normal file
101
Encodings/src/Windows874Encoding.cpp
Normal 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
|
1977
Encodings/src/Windows932Encoding.cpp
Normal file
1977
Encodings/src/Windows932Encoding.cpp
Normal file
File diff suppressed because it is too large
Load Diff
5535
Encodings/src/Windows936Encoding.cpp
Normal file
5535
Encodings/src/Windows936Encoding.cpp
Normal file
File diff suppressed because it is too large
Load Diff
4349
Encodings/src/Windows949Encoding.cpp
Normal file
4349
Encodings/src/Windows949Encoding.cpp
Normal file
File diff suppressed because it is too large
Load Diff
3462
Encodings/src/Windows950Encoding.cpp
Normal file
3462
Encodings/src/Windows950Encoding.cpp
Normal file
File diff suppressed because it is too large
Load Diff
26
Encodings/testsuite/CMakeLists.txt
Normal file
26
Encodings/testsuite/CMakeLists.txt
Normal 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 )
|
16
Encodings/testsuite/Makefile
Normal file
16
Encodings/testsuite/Makefile
Normal 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
|
9
Encodings/testsuite/TestSuite.progen
Normal file
9
Encodings/testsuite/TestSuite.progen
Normal 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
|
127
Encodings/testsuite/src/DoubleByteEncodingTest.cpp
Normal file
127
Encodings/testsuite/src/DoubleByteEncodingTest.cpp
Normal 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;
|
||||||
|
}
|
40
Encodings/testsuite/src/DoubleByteEncodingTest.h
Normal file
40
Encodings/testsuite/src/DoubleByteEncodingTest.h
Normal 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
|
17
Encodings/testsuite/src/Driver.cpp
Normal file
17
Encodings/testsuite/src/Driver.cpp
Normal 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)
|
22
Encodings/testsuite/src/EncodingsTestSuite.cpp
Normal file
22
Encodings/testsuite/src/EncodingsTestSuite.cpp
Normal 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;
|
||||||
|
}
|
27
Encodings/testsuite/src/EncodingsTestSuite.h
Normal file
27
Encodings/testsuite/src/EncodingsTestSuite.h
Normal 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
|
28
Encodings/testsuite/src/WinDriver.cpp
Normal file
28
Encodings/testsuite/src/WinDriver.cpp
Normal 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;
|
@ -1,6 +1,7 @@
|
|||||||
CppUnit
|
CppUnit
|
||||||
CppUnit/WinTestRunner
|
CppUnit/WinTestRunner
|
||||||
Foundation
|
Foundation
|
||||||
|
Encodings
|
||||||
XML
|
XML
|
||||||
JSON
|
JSON
|
||||||
Util
|
Util
|
||||||
|
Loading…
Reference in New Issue
Block a user