Generating code

This commit is contained in:
Jakub Melka
2020-03-21 16:36:27 +01:00
parent 96d2e33692
commit bc6ca3fc46
15 changed files with 966 additions and 9 deletions

View File

@ -2149,6 +2149,7 @@ QByteArray PDFEncoding::convertToEncoding(const QString& string, PDFEncoding::En
if (unicode == (*table)[static_cast<unsigned char>(i)])
{
converted = i;
break;
}
}
@ -2158,6 +2159,34 @@ QByteArray PDFEncoding::convertToEncoding(const QString& string, PDFEncoding::En
return result;
}
bool PDFEncoding::canConvertToEncoding(const QString& string, PDFEncoding::Encoding encoding)
{
const encoding::EncodingTable* table = getTableForEncoding(encoding);
Q_ASSERT(table);
for (QChar character : string)
{
ushort unicode = character.unicode();
bool converted = false;
for (int i = 0; i < table->size(); ++i)
{
if (unicode == (*table)[static_cast<unsigned char>(i)])
{
converted = true;
break;
}
}
if (!converted)
{
return false;
}
}
return true;
}
QString PDFEncoding::convertTextString(const QByteArray& stream)
{
if (hasUnicodeLeadMarkings(stream))
@ -2259,6 +2288,13 @@ QDateTime PDFEncoding::convertToDateTime(const QByteArray& stream)
return QDateTime();
}
QByteArray PDFEncoding::converDateTimeToString(QDateTime dateTime)
{
QDateTime utcDateTime = dateTime.toUTC();
QString convertedDateTime = QString("D:%1").arg(utcDateTime.toString("yyyyMMddhhmmss"));
return convertedDateTime.toLatin1();
}
const encoding::EncodingTable* PDFEncoding::getTableForEncoding(Encoding encoding)
{
switch (encoding)