texlive[47014] Build/source/libs: poppler-0.63.0
commits+kakuto at tug.org
commits+kakuto at tug.org
Sun Mar 18 22:59:39 CET 2018
Revision: 47014
http://tug.org/svn/texlive?view=revision&revision=47014
Author: kakuto
Date: 2018-03-18 22:59:37 +0100 (Sun, 18 Mar 2018)
Log Message:
-----------
poppler-0.63.0
Modified Paths:
--------------
trunk/Build/source/libs/README
trunk/Build/source/libs/poppler/ChangeLog
trunk/Build/source/libs/poppler/Makefile.am
trunk/Build/source/libs/poppler/Makefile.in
trunk/Build/source/libs/poppler/TLpatches/ChangeLog
trunk/Build/source/libs/poppler/TLpatches/TL-Changes
trunk/Build/source/libs/poppler/TLpatches/patch-04-ctime
trunk/Build/source/libs/poppler/configure
trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt
trunk/Build/source/libs/poppler/poppler-src/ChangeLog
trunk/Build/source/libs/poppler/poppler-src/NEWS
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.cc
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.h
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiEncodings.cc
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.cc
trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1C.cc
trunk/Build/source/libs/poppler/poppler-src/goo/GooHash.cc
trunk/Build/source/libs/poppler/poppler-src/goo/GooMutex.h
trunk/Build/source/libs/poppler/poppler-src/goo/GooString.cc
trunk/Build/source/libs/poppler/poppler-src/goo/GooTimer.cc
trunk/Build/source/libs/poppler/poppler-src/goo/ImgWriter.h
trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc
trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc
trunk/Build/source/libs/poppler/poppler-src/goo/gfile.cc
trunk/Build/source/libs/poppler/poppler-src/goo/gfile.h
trunk/Build/source/libs/poppler/poppler-src/goo/glibc.h
trunk/Build/source/libs/poppler/poppler-src/goo/glibc_strtok_r.cc
trunk/Build/source/libs/poppler/poppler-src/goo/gmem.cc
trunk/Build/source/libs/poppler/poppler-src/goo/grandom.cc
trunk/Build/source/libs/poppler/poppler-src/goo/gstrtod.cc
trunk/Build/source/libs/poppler/poppler-src/gtkdoc.py
trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Array.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Array.h
trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.h
trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFontTables.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.h
trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.h
trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h
trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.h
trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.h
trunk/Build/source/libs/poppler/poppler-src/poppler/CurlCachedFile.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Error.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/ErrorCodes.h
trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.h
trunk/Build/source/libs/poppler/poppler-src/poppler/FontEncodingTables.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Function.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.h
trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h
trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h
trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h
trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParamsWin.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.h
trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.h
trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Linearization.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Link.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h
trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.h
trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.h
trunk/Build/source/libs/poppler/poppler-src/poppler/NameToUnicodeTable.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Object.h
trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.h
trunk/Build/source/libs/poppler/poppler-src/poppler/OutputDev.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/OutputDev.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/PDFDoc.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PDFDocBuilder.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PDFDocFactory.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/PSOutputDev.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PSTokenizer.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Page.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Page.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/PageLabelInfo.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Parser.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Parser.h
trunk/Build/source/libs/poppler/poppler-src/poppler/PopplerCache.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/PopplerCache.h
trunk/Build/source/libs/poppler/poppler-src/poppler/Rendition.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Rendition.h
trunk/Build/source/libs/poppler/poppler-src/poppler/SecurityHandler.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/SecurityHandler.h
trunk/Build/source/libs/poppler/poppler-src/poppler/SignatureHandler.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Sound.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Sound.h
trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/SplashOutputDev.h
trunk/Build/source/libs/poppler/poppler-src/poppler/StdinCachedFile.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/StdinPDFDocBuilder.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Stream.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/Stream.h
trunk/Build/source/libs/poppler/poppler-src/poppler/StructElement.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/StructElement.h
trunk/Build/source/libs/poppler/poppler-src/poppler/StructTreeRoot.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/StructTreeRoot.h
trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/TextOutputDev.h
trunk/Build/source/libs/poppler/poppler-src/poppler/UTF.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/UnicodeMap.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/UnicodeMap.h
trunk/Build/source/libs/poppler/poppler-src/poppler/UnicodeMapFuncs.h
trunk/Build/source/libs/poppler/poppler-src/poppler/UnicodeTypeTable.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.cc
trunk/Build/source/libs/poppler/poppler-src/poppler/XRef.h
trunk/Build/source/libs/poppler/poppler-src/poppler/poppler-config.h.cmake
trunk/Build/source/libs/poppler/version.ac
Added Paths:
-----------
trunk/Build/source/libs/poppler/poppler-src/poppler/UnicodeMapFuncs.cc
Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/README 2018-03-18 21:59:37 UTC (rev 47014)
@@ -49,7 +49,7 @@
pixman 0.34.0 - checked 04feb16
http://cairographics.org/releases/
-poppler 0.62.0 - checked 9jan18
+poppler 0.63.0 - checked 18mar18
http://poppler.freedesktop.org/ - used by luatex and xetex
(requires C++11)
Modified: trunk/Build/source/libs/poppler/ChangeLog
===================================================================
--- trunk/Build/source/libs/poppler/ChangeLog 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/ChangeLog 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,3 +1,8 @@
+2018-03-18 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ Import poppler-0.63.0.
+ * Makefile.am, version.ac: Adjust.
+
2018-03-14 Luigi Scarso <luigi.scarso at gmail.com>
* configure.ac (HAVE_DCT_DECODER, HAVE_JPX_DECODER): hardwire to 1,
Modified: trunk/Build/source/libs/poppler/Makefile.am
===================================================================
--- trunk/Build/source/libs/poppler/Makefile.am 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/Makefile.am 2018-03-18 21:59:37 UTC (rev 47014)
@@ -122,6 +122,7 @@
@POPPLER_TREE@/poppler/StructTreeRoot.cc \
@POPPLER_TREE@/poppler/UTF.cc \
@POPPLER_TREE@/poppler/UnicodeMap.cc \
+ @POPPLER_TREE@/poppler/UnicodeMapFuncs.cc \
@POPPLER_TREE@/poppler/UnicodeTypeTable.cc \
@POPPLER_TREE@/poppler/ViewerPreferences.cc \
@POPPLER_TREE@/poppler/XRef.cc \
Modified: trunk/Build/source/libs/poppler/Makefile.in
===================================================================
--- trunk/Build/source/libs/poppler/Makefile.in 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/Makefile.in 2018-03-18 21:59:37 UTC (rev 47014)
@@ -190,6 +190,7 @@
@POPPLER_TREE@/poppler/StructTreeRoot.$(OBJEXT) \
@POPPLER_TREE@/poppler/UTF.$(OBJEXT) \
@POPPLER_TREE@/poppler/UnicodeMap.$(OBJEXT) \
+ @POPPLER_TREE@/poppler/UnicodeMapFuncs.$(OBJEXT) \
@POPPLER_TREE@/poppler/UnicodeTypeTable.$(OBJEXT) \
@POPPLER_TREE@/poppler/ViewerPreferences.$(OBJEXT) \
@POPPLER_TREE@/poppler/XRef.$(OBJEXT) \
@@ -531,6 +532,7 @@
@POPPLER_TREE@/poppler/StructTreeRoot.cc \
@POPPLER_TREE@/poppler/UTF.cc \
@POPPLER_TREE@/poppler/UnicodeMap.cc \
+ @POPPLER_TREE@/poppler/UnicodeMapFuncs.cc \
@POPPLER_TREE@/poppler/UnicodeTypeTable.cc \
@POPPLER_TREE@/poppler/ViewerPreferences.cc \
@POPPLER_TREE@/poppler/XRef.cc \
@@ -852,6 +854,9 @@
@POPPLER_TREE@/poppler/UnicodeMap.$(OBJEXT): \
@POPPLER_TREE@/poppler/$(am__dirstamp) \
@POPPLER_TREE@/poppler/$(DEPDIR)/$(am__dirstamp)
+ at POPPLER_TREE@/poppler/UnicodeMapFuncs.$(OBJEXT): \
+ @POPPLER_TREE@/poppler/$(am__dirstamp) \
+ @POPPLER_TREE@/poppler/$(DEPDIR)/$(am__dirstamp)
@POPPLER_TREE@/poppler/UnicodeTypeTable.$(OBJEXT): \
@POPPLER_TREE@/poppler/$(am__dirstamp) \
@POPPLER_TREE@/poppler/$(DEPDIR)/$(am__dirstamp)
@@ -954,6 +959,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/StructTreeRoot.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/UTF.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/UnicodeMap.Po at am__quote@
+ at AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/UnicodeMapFuncs.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/UnicodeTypeTable.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/ViewerPreferences.Po at am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@@POPPLER_TREE@/poppler/$(DEPDIR)/XRef.Po at am__quote@
Modified: trunk/Build/source/libs/poppler/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/ChangeLog 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/TLpatches/ChangeLog 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,3 +1,7 @@
+2018-03-18 Akira Kakuto <kakuto at fuk.kindai.ac.jp>
+
+ * Import poppler-0.63.0.
+
2018-01-15 Karl Berry <karl at tug.org>
* patch-04-ctime: add.
Modified: trunk/Build/source/libs/poppler/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/TL-Changes 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/TLpatches/TL-Changes 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,9 +1,12 @@
-Changes applied to the poppler-0.62.0 tree as obtained from:
+Changes applied to the poppler-0.63.0 tree as obtained from:
http://poppler.freedesktop.org/
Removed unused dirs:
- cmake cpp glib m4 qt4 qt5 test utils
+ cmake cpp glib qt5 test utils
+Removed unused files in splash:
+ only SplashTypes.h is used
+
General idea:
update version.ac
mv poppler-src poppler-prev
Modified: trunk/Build/source/libs/poppler/TLpatches/patch-04-ctime
===================================================================
--- trunk/Build/source/libs/poppler/TLpatches/patch-04-ctime 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/TLpatches/patch-04-ctime 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,9 +1,10 @@
To make time_t work on FreeBSD 11.1, per Mojca.
http://tug.org/pipermail/tlbuild/2018q1/003931.html
-
---- Form.h (revision 46316)
-+++ Form.h (working copy)
-@@ -31,6 +31,7 @@
+
+diff -ur poppler-0.63.0/poppler/Form.h poppler-src/poppler/Form.h
+--- poppler-0.63.0/poppler/Form.h Mon Mar 19 03:23:49 2018
++++ poppler-src/poppler/Form.h Mon Mar 19 06:18:51 2018
+@@ -33,6 +33,7 @@
#include <set>
#include <vector>
Modified: trunk/Build/source/libs/poppler/configure
===================================================================
--- trunk/Build/source/libs/poppler/configure 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/configure 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.62.0.
+# Generated by GNU Autoconf 2.69 for poppler (TeX Live) 0.63.0.
#
# Report bugs to <tex-k at tug.org>.
#
@@ -580,8 +580,8 @@
# Identity of this package.
PACKAGE_NAME='poppler (TeX Live)'
PACKAGE_TARNAME='poppler--tex-live-'
-PACKAGE_VERSION='0.62.0'
-PACKAGE_STRING='poppler (TeX Live) 0.62.0'
+PACKAGE_VERSION='0.63.0'
+PACKAGE_STRING='poppler (TeX Live) 0.63.0'
PACKAGE_BUGREPORT='tex-k at tug.org'
PACKAGE_URL=''
@@ -1307,7 +1307,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures poppler (TeX Live) 0.62.0 to adapt to many kinds of systems.
+\`configure' configures poppler (TeX Live) 0.63.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1374,7 +1374,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of poppler (TeX Live) 0.62.0:";;
+ short | recursive ) echo "Configuration of poppler (TeX Live) 0.63.0:";;
esac
cat <<\_ACEOF
@@ -1487,7 +1487,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-poppler (TeX Live) configure 0.62.0
+poppler (TeX Live) configure 0.63.0
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2077,7 +2077,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by poppler (TeX Live) $as_me 0.62.0, which was
+It was created by poppler (TeX Live) $as_me 0.63.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -4000,7 +4000,7 @@
# Define the identity of the package.
PACKAGE='poppler--tex-live-'
- VERSION='0.62.0'
+ VERSION='0.63.0'
# Some tools Automake needs.
@@ -7578,7 +7578,7 @@
cat >>confdefs.h <<_ACEOF
-#define POPPLER_VERSION "0.62.0"
+#define POPPLER_VERSION "0.63.0"
_ACEOF
@@ -8272,7 +8272,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by poppler (TeX Live) $as_me 0.62.0, which was
+This file was extended by poppler (TeX Live) $as_me 0.63.0, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8338,7 +8338,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-poppler (TeX Live) config.status 0.62.0
+poppler (TeX Live) config.status 0.63.0
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Modified: trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/CMakeLists.txt 2018-03-18 21:59:37 UTC (rev 47014)
@@ -30,7 +30,7 @@
endif()
set(POPPLER_MAJOR_VERSION "0")
-set(POPPLER_MINOR_VERSION "62")
+set(POPPLER_MINOR_VERSION "63")
set(POPPLER_MICRO_VERSION "0")
set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
@@ -378,6 +378,7 @@
poppler/StructTreeRoot.cc
poppler/StructElement.cc
poppler/UnicodeMap.cc
+ poppler/UnicodeMapFuncs.cc
poppler/UnicodeTypeTable.cc
poppler/UTF.cc
poppler/XRef.cc
@@ -482,7 +483,7 @@
else()
add_library(poppler ${poppler_SRCS})
endif()
-set_target_properties(poppler PROPERTIES VERSION 73.0.0 SOVERSION 73)
+set_target_properties(poppler PROPERTIES VERSION 74.0.0 SOVERSION 74)
if(MINGW)
get_target_property(POPPLER_SOVERSION poppler SOVERSION)
set_target_properties(poppler PROPERTIES SUFFIX "-${POPPLER_SOVERSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
@@ -755,7 +756,7 @@
COMMAND
COMMAND git log --stat | fmt --split-only > ${CMAKE_BINARY_DIR}/ChangeLog
COMMAND git archive --prefix=${ARCHIVE_NAME}/ HEAD > ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar
- COMMAND tar -C ${CMAKE_BINARY_DIR} -rf ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar ChangeLog --transform='s,,${ARCHIVE_NAME}/,'
- COMMAND tar -C ${CMAKE_BINARY_DIR} -rf ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar glib/reference/html --transform='s,,${ARCHIVE_NAME}/,'
+ COMMAND tar -C ${CMAKE_BINARY_DIR} -rf ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar ChangeLog --transform='s,,${ARCHIVE_NAME}/,' --owner root:0 --group root:0
+ COMMAND tar -C ${CMAKE_BINARY_DIR} -rf ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar glib/reference/html --transform='s,,${ARCHIVE_NAME}/,' --owner root:0 --group root:0
COMMAND xz -9 ${CMAKE_BINARY_DIR}/${ARCHIVE_NAME}.tar
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
Modified: trunk/Build/source/libs/poppler/poppler-src/ChangeLog
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/ChangeLog 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/ChangeLog 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,3 +1,1318 @@
+commit f26285f361478219ea9d3c6de1529ecd5ff96ac9
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Mar 18 19:23:49 2018 +0100
+
+ 0.63
+
+ CMakeLists.txt | 4 ++--
+ NEWS | 60
+ ++++++++++++++++++++++++++++++++++++++++++++++++++
+ cpp/CMakeLists.txt | 2 +-
+ cpp/Doxyfile | 2 +-
+ qt5/src/CMakeLists.txt | 2 +-
+ qt5/src/Doxyfile | 2 +-
+ 6 files changed, 66 insertions(+), 6 deletions(-)
+
+commit 8b2079b7250e037599f6640539f8107d93314919
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Mar 18 19:01:40 2018 +0100
+
+ Update copyrights
+
+ poppler/CairoOutputDev.cc | 2 +-
+ poppler/CairoOutputDev.h | 2 +-
+ poppler/GfxFont.cc | 2 +-
+ poppler/GfxFont.h | 2 +-
+ poppler/Object.h | 2 +-
+ poppler/StructElement.cc | 1 +
+ poppler/StructTreeRoot.cc | 2 +-
+ poppler/StructTreeRoot.h | 1 +
+ poppler/TextOutputDev.cc | 2 +-
+ utils/pdfinfo.cc | 2 +-
+ 10 files changed, 10 insertions(+), 8 deletions(-)
+
+commit 41321580f0a13309e5de44eb42851e3c82a5ef8f
+Author: Adam Reichold <adam.reichold at t-online.de>
+Date: Sun Mar 4 09:17:00 2018 +0100
+
+ Use the detection idiom to handle the non-standard struct stat field
+ name for high-resolution mtime on Mac OS X.
+
+ goo/gfile.cc | 40 +++++++++++++++++++++++++++++++++++++---
+ 1 file changed, 37 insertions(+), 3 deletions(-)
+
+commit b14baefb406b8f08f0702edd686ebc7698cb7f15
+Author: Adam Reichold <adam.reichold at t-online.de>
+Date: Mon Feb 12 08:09:00 2018 +0100
+
+ Explicitly anchor destructor of text_box_data to avoid linker errors
+ using Clang on Mac OS X.
+
+ cpp/poppler-page.cpp | 3 +++
+ cpp/poppler-private.h | 3 +++
+ 2 files changed, 6 insertions(+)
+
+commit 4afe2fb10ab969bfd9895c0ba9d4990c5881b451
+Author: Carlos Garcia Campos <carlosgc at gnome.org>
+Date: Sun Mar 4 10:28:57 2018 +0100
+
+ cairo: use GOOD instead of BEST as the default cairo filter for
+ scaling
+
+ The quality is good enough and the performance is much better.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=103136
+
+ poppler/CairoOutputDev.cc | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+commit 41c61811fdd6efe2bef34d2ce26520fc6b3c4237
+Author: Jason Crain <jason at inspiresomeone.us>
+Date: Fri Feb 23 23:21:03 2018 -0600
+
+ TextPage: Add horizontal scaling to font matrix
+
+ Drawing the text selection sometimes draws text reversed or expanded.
+ This is because the while the current font transformation matrix is
+ saved, the horizontal scaling is not. Include the effect of the
+ horizontal scaling in the transformation matrix.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=105259
+
+ poppler/TextOutputDev.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 2740b3aca81a6a8c690540fc141e5923a1fff460
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Feb 27 00:47:04 2018 +0100
+
+ cpp: Add since
+
+ cpp/poppler-page.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 42a6b8651f040f0960802e705b1aea82a956a63b
+Author: suzuki toshiya <mpsuzuki at hiroshima-u.ac.jp>
+Date: Tue Feb 27 00:46:18 2018 +0100
+
+ cpp: Add page::text_list
+
+ cpp/poppler-page.cpp | 91
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ cpp/poppler-page.h | 55 ++++++++++++++++++++++++++++
+ cpp/poppler-private.h | 9 +++++
+ cpp/tests/poppler-dump.cpp | 34 +++++++++++++++++
+ 4 files changed, 189 insertions(+)
+
+commit e25d4af6ed9b254db3096a2e483798734296376d
+Author: Adam Reichold <adam.reichold at t-online.de>
+Date: Sun Feb 18 09:43:58 2018 +0100
+
+ Fix warnings due to unhandled link types in XML serialization of
+ annotations code in the Qt5 frontend.
+
+ qt5/src/poppler-annotation.cc | 20 ++++++++++++++------
+ 1 file changed, 14 insertions(+), 6 deletions(-)
+
+commit e015ab97c1ee3a4ea386ccc86385aad458827d96
+Author: Adam Reichold <adam.reichold at t-online.de>
+Date: Sun Feb 18 09:42:58 2018 +0100
+
+ Fix warnings due to the use of deprecated overloads of
+ Poppler::Page::Search in tests of Qt5 frontend.
+
+ qt5/tests/check_search.cpp | 38
+ +++++++++++++++++++-------------------
+ qt5/tests/stress-threads-qt5.cpp | 10 +++++-----
+ 2 files changed, 24 insertions(+), 24 deletions(-)
+
+commit 732903ecf1bdb085cac36eb29d330a7970670064
+Author: Adam Reichold <adam.reichold at t-online.de>
+Date: Sun Feb 18 09:42:04 2018 +0100
+
+ Fix buffer size warning due to missing space for null terminator
+ in pdfseparate.
+
+ utils/pdfseparate.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 791e024656212c65d798cb69a134cdd3e30cc79e
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Feb 18 23:05:59 2018 +0100
+
+ Make it work with newer gtk-doc
+
+ Hopefully still works with older versions
+
+ Bug #105075
+
+ gtkdoc.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 948d392d9acc3d82b86a260c952095a603fe767f
+Author: William Bader <william at newspapersystems.com>
+Date: Sun Feb 18 22:06:02 2018 +0100
+
+ Add python3 support to gtkdoc.py
+
+ gtkdoc.py | 19 +++++++++++++------
+ 1 file changed, 13 insertions(+), 6 deletions(-)
+
+commit 73130ae1125c86ebd0ee504d0681d9911ff2cfbd
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Feb 14 17:40:23 2018 +0100
+
+ SplashGouraudPattern: Remove mode member variable
+
+ We don't need it anymore, was introduced in the initial overprint
+ implementation and was forgotten to be removed when merging xpdf 3.03
+
+ poppler/SplashOutputDev.cc | 9 ++-------
+ poppler/SplashOutputDev.h | 5 ++---
+ 2 files changed, 4 insertions(+), 10 deletions(-)
+
+commit 37efb98d77c14c27a22806ec676c13f0a8b99490
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Feb 14 17:43:41 2018 +0100
+
+ SplashOutputDev:: Remove unused maskBitmap member
+
+ poppler/SplashOutputDev.h | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit e3cece1bfc00083637f709f7647b4711b5c6a084
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Fri Feb 2 23:17:11 2018 +0100
+
+ Fix some -Wshadow warnings
+
+ More to come, -Wshadow is interesting but if we enable it we still
+ get too many warnings for it to be useful
+
+ cpp/tests/poppler-dump.cpp | 6 ++--
+ poppler/CachedFile.cc | 8 +++---
+ poppler/CairoFontEngine.cc | 64
+ +++++++++++++++++++++---------------------
+ poppler/CairoOutputDev.cc | 5 ++--
+ poppler/CairoOutputDev.h | 4 +--
+ poppler/Decrypt.cc | 6 ++--
+ poppler/FontInfo.cc | 5 ++--
+ poppler/Gfx.cc | 2 +-
+ poppler/GfxFont.cc | 12 ++++----
+ poppler/GfxState.cc | 31 +++++++++-----------
+ poppler/JBIG2Stream.cc | 11 ++++----
+ poppler/PDFDoc.cc | 4 +--
+ poppler/StructElement.cc | 6 ++--
+ poppler/StructTreeRoot.cc | 8 +++---
+ poppler/TextOutputDev.h | 4 +--
+ poppler/XRef.cc | 4 +--
+ qt5/src/ArthurOutputDev.cc | 4 +--
+ qt5/src/poppler-annotation.cc | 18 ++++++------
+ qt5/src/poppler-media.cc | 4 +--
+ qt5/src/poppler-page.cc | 24 ++++++++--------
+ qt5/tests/test-poppler-qt5.cpp | 10 ++++---
+ splash/SplashFTFontFile.cc | 5 ++--
+ utils/ImageOutputDev.cc | 8 +++---
+ utils/pdfinfo.cc | 7 ++---
+ utils/pdftocairo.cc | 22 +++++++--------
+ utils/pdftoppm.cc | 20 ++++++-------
+ 26 files changed, 149 insertions(+), 153 deletions(-)
+
+commit 8cfe91ae51fa50e66217c6bbcb236ec3a267e45e
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Fri Feb 2 23:22:33 2018 +0100
+
+ CairoOutputDev: Remove two unused member variables
+
+ poppler/CairoOutputDev.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit b1016f574ac63fa269ca5125827895220e1df883
+Author: Albert Astals Cid <albert.astals.cid at kdab.com>
+Date: Thu Feb 1 22:46:33 2018 +0100
+
+ Qt5: Add cancellation support to renderToImage and textList
+
+ qt5/src/poppler-page.cc | 148
+ ++++++++++++++++++++++++++++--------------------
+ qt5/src/poppler-qt5.h | 98 +++++++++++++++++++++++++++++++-
+ 2 files changed, 185 insertions(+), 61 deletions(-)
+
+commit 248aa0f5832ce063a9ae061dfcf54596e0ea5fba
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Jan 28 00:25:38 2018 +0100
+
+ Fix build without libpng
+
+ utils/ImageOutputDev.cc | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit f93fa48839be2937cd7ce38c14884428416bcc4b
+Author: Andreas Gruenbacher <agruenba at redhat.com>
+Date: Sat Jan 27 20:24:09 2018 +0100
+
+ Fix build without libtiff
+
+ Bug #104813
+
+ utils/ImageOutputDev.cc | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit f65f60e5d3f5e4109a79212a9994b5096a2a2a8d
+Author: Jason Crain <jason at inspiresomeone.us>
+Date: Thu Jan 18 11:57:33 2018 -0600
+
+ GfxFontDict: merge reference generation from xpdf 4.00
+
+ The GfxFontDict constructor generates a fake indirect reference if the
+ font dictionary doesn't have a real indirect reference. It sometimes
+ assigns the same reference to two different fonts leading to a wrong
+ font being used. XPDF 4.00 fixes this by using the hash of the font
+ data to create the fake reference.
+
+ https://bugs.freedesktop.org/show_bug.cgi?id=104565
+
+ poppler/GfxFont.cc | 125
+ +++++++++++++++++++++++++++++++++++++++++++++++++----
+ poppler/GfxFont.h | 4 ++
+ 2 files changed, 120 insertions(+), 9 deletions(-)
+
+commit 7342327039dfc750934f3ce7ff0bdb6bc585151c
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 17 22:33:42 2018 +0100
+
+ Form.h: include time.h for time_t
+
+ poppler/Form.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit a89e7474fcd9e7e6dd1330c585130346aa862598
+Author: suzuki toshiya <mpsuzuki at hiroshima-u.ac.jp>
+Date: Wed Jan 17 00:22:55 2018 +0100
+
+ Enable building all libs as static libs
+
+ if the correct switch is used
+
+ cpp/CMakeLists.txt | 2 +-
+ glib/CMakeLists.txt | 4 ++--
+ qt5/src/CMakeLists.txt | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit 7f550e88d86482adcfab6e054ff14588b32b692a
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Jan 14 20:51:19 2018 +0100
+
+ Remove declare but unused Object instances
+
+ poppler/Annot.cc | 36 ------------------------------------
+ poppler/CairoFontEngine.cc | 2 --
+ poppler/Catalog.cc | 1 -
+ poppler/Form.cc | 2 +-
+ poppler/Lexer.cc | 1 -
+ poppler/Link.cc | 2 --
+ poppler/PDFDoc.cc | 1 -
+ poppler/SplashOutputDev.cc | 2 --
+ poppler/XRef.cc | 1 -
+ qt5/src/ArthurOutputDev.cc | 1 -
+ utils/JSInfo.cc | 1 -
+ utils/pdfinfo.cc | 1 -
+ utils/pdfseparate.cc | 1 -
+ 13 files changed, 1 insertion(+), 51 deletions(-)
+
+commit 4b237953b187f38c90b9a747f587cbc277db6d45
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Jan 14 20:17:56 2018 +0100
+
+ pdfsig: Remove "int i = 0;" variable that was shadowing pevious i
+
+ And making us access the wrong sig_widgets element
+
+ utils/pdfsig.cc | 1 -
+ 1 file changed, 1 deletion(-)
+
+commit 08f2cddf18b6ccdc13861b52821cbbf2d3e48472
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Thu Jan 11 19:38:29 2018 +0100
+
+ GfxFunctionShading::parse: Fix abort in malformed document
+
+ Bug #104581
+
+ poppler/GfxState.cc | 32 ++++++++++++++++++++++----------
+ 1 file changed, 22 insertions(+), 10 deletions(-)
+
+commit 10831921281f75b4b2c05ab85f4093331788e6a8
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Thu Jan 11 00:27:50 2018 +0100
+
+ GfxGouraudTriangleShading::parse: Don't abort on malformed documents
+
+ Bug #104567
+
+ poppler/GfxState.cc | 18 ++++++++++++------
+ 1 file changed, 12 insertions(+), 6 deletions(-)
+
+commit a59f61641fcb36859b625749afb4561557e419f6
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 10 23:24:19 2018 +0100
+
+ PDFDoc::setup: Fail early if base stream length is 0
+
+ Bug #103552
+
+ poppler/PDFDoc.cc | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+commit 00c1566e8cc0dacd899ec6dd267265f4b714eae4
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 10 00:49:51 2018 +0100
+
+ UnicodeMapFuncs: Move implementation to .cpp
+
+ With that the last warning i got on poppler core is gone \o/
+
+ CMakeLists.txt | 1 +
+ poppler/UnicodeMapFuncs.cc | 88
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ poppler/UnicodeMapFuncs.h | 64 +++------------------------------
+ 3 files changed, 93 insertions(+), 60 deletions(-)
+
+commit bf6d79b5c6b5bdcc0d79b4eebd85840e8f2e30ef
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 10 00:49:33 2018 +0100
+
+ Forgot C for last commit
+
+ poppler/UTF.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ebf33c2b0c66c456683c189af1b297fe24adcf9d
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 10 00:40:38 2018 +0100
+
+ utf16CountUtf8Bytes: initialize codepoint to 0
+
+ Was tired of seeing the warning
+
+ I actually think the code is a little bit fishy for invalid values,
+ but since we only use it for win32 builds i'm not spending much more
+ time looking at it.
+
+ poppler/UTF.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 43ad7071aa126d3b6754421b544e114d87fdd82a
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Jan 9 23:41:01 2018 +0100
+
+ qt5: Implement operator= for PageTransition
+
+ qt5/src/poppler-page-transition.cc | 10 ++++++++++
+ qt5/src/poppler-page-transition.h | 5 ++++-
+ 2 files changed, 14 insertions(+), 1 deletion(-)
+
+commit c2711874a4afc00448c21e86fdaf0b7aec40b623
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Jan 9 19:47:29 2018 +0100
+
+ Fix another clazy rule-of-three warning
+
+ We can just use the default copy assignemnt and constructor for Parent
+
+ poppler/StructTreeRoot.h | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+commit 30ccee028213efcf3d3a103ae6003bdcd15e1126
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Jan 9 19:42:53 2018 +0100
+
+ Fix more Wmissing-field-initializer
+
+ by using the default initializer
+
+ goo/gfile.cc | 6 +++---
+ poppler/GlobalParamsWin.cc | 4 ++--
+ 2 files changed, 5 insertions(+), 5 deletions(-)
+
+commit ef4e450c921f4373955def51a74ebffd8f7b4599
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Jan 9 19:36:16 2018 +0100
+
+ Enable no-missing-field-initializers
+
+ cmake/modules/PopplerMacros.cmake | 2 +-
+ glib/poppler-structure-element.cc | 29 +++++++++++++++--------------
+ poppler/GfxFont.cc | 4 ++--
+ poppler/JBIG2Stream.cc | 20 ++++++++++----------
+ test/gtk-test.cc | 2 +-
+ test/pdf-fullrewrite.cc | 2 +-
+ utils/pdfdetach.cc | 3 ++-
+ utils/pdffonts.cc | 4 ++--
+ utils/pdfimages.cc | 4 ++--
+ utils/pdfinfo.cc | 4 ++--
+ utils/pdfseparate.cc | 4 ++--
+ utils/pdfsig.cc | 4 ++--
+ utils/pdftocairo.cc | 4 ++--
+ utils/pdftohtml.cc | 4 ++--
+ utils/pdftoppm.cc | 4 ++--
+ utils/pdftops.cc | 4 ++--
+ utils/pdftotext.cc | 4 ++--
+ utils/pdfunite.cc | 4 ++--
+ 18 files changed, 54 insertions(+), 52 deletions(-)
+
+commit efd2205a0bc9e838fd2184c329f8370aa292c346
+Author: suzuki toshiya <mpsuzuki at hiroshima-u.ac.jp>
+Date: Tue Jan 9 00:03:59 2018 +0100
+
+ add "--owner root:0 --group root:0" options to tar command in
+ dist target
+
+ Because git-archive always uses root:root in the generated tarball,
+ the source tarballs (since 0.60.0) have 2 uid/gids in it.
+ "root:root" by git-archive, and normal users/group by normal tar.
+ For detail, please find the analysis at::
+ https://lists.freedesktop.org/archives/poppler/2017-December/012737.html
+
+ Bug #104398
+
+ CMakeLists.txt | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit cbd864b74fe368c1172974c7040c67ddfbc52cf6
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 23:48:57 2018 +0100
+
+ Fix abort in Gfx::opBeginMarkedContent if args[1] is not a name
+
+ Bug #104468
+
+ poppler/Gfx.cc | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+commit 1aaf621f511ca4c235cb30a5ddbf050acd30fe91
+Author: Ben Timby <btimby at gmail.com>
+Date: Mon Jan 8 23:42:40 2018 +0100
+
+ Check return code of getChar(), abort reading on error.
+
+ Bug #104502
+
+ poppler/PDFDoc.cc | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit ad7f6acd3c643b5bc0c9b7f91616f678b178a041
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 23:40:25 2018 +0100
+
+ (C) of last commit
+
+ poppler/Lexer.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 582153b68e076c0f2ae71392f7553181c466e849
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 23:34:13 2018 +0100
+
+ Lexer: Check curStr is actually a Stream before doing Stream
+ operations
+
+ Bug #104518
+
+ poppler/Lexer.cc | 14 +++++++++-----
+ 1 file changed, 9 insertions(+), 5 deletions(-)
+
+commit dea6e03352084361e7c89cff7adaa53110c4e91a
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 23:25:39 2018 +0100
+
+ Fix new Object API porting bug
+
+ When doing the XRef::readXRefTable workaround of moving entries[1] to
+ entries[0] set the entries[1] object back to null
+
+ Bug #104517
+
+ poppler/XRef.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4c9e1b66725051cd4726baf19d891c2d9c710868
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 23:09:13 2018 +0100
+
+ A few more nullptr
+
+ poppler/Link.h | 2 +-
+ poppler/Object.h | 4 ++--
+ poppler/OutputDev.h | 2 +-
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+commit e428033c2d7efbbbf89bb2f84c8998521ac7ef8e
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 22:55:00 2018 +0100
+
+ Run clang-tidy with modernize nullptr
+
+ Also add two enum values in the qt5 frontend to representate no flags
+ Also mark glib/gtk/cairo system includes so that gcc doesn't report
+ the issues in those headers
+
+ cmake/modules/PopplerMacros.cmake | 2 +-
+ cpp/poppler-document.cpp | 50 +-
+ cpp/poppler-image.cpp | 20 +-
+ cpp/poppler-page.cpp | 8 +-
+ cpp/poppler-private.cpp | 2 +-
+ cpp/poppler-toc.cpp | 4 +-
+ cpp/tests/poppler-dump.cpp | 2 +-
+ cpp/tests/poppler-render.cpp | 2 +-
+ fofi/FoFiBase.cc | 10 +-
+ fofi/FoFiEncodings.cc | 396 +-
+ fofi/FoFiIdentifier.cc | 2 +-
+ fofi/FoFiTrueType.cc | 30 +-
+ fofi/FoFiType1.cc | 18 +-
+ fofi/FoFiType1C.cc | 28 +-
+ glib/CMakeLists.txt | 4 +
+ glib/demo/info.cc | 12 +-
+ glib/poppler-action.cc | 54 +-
+ glib/poppler-annot.cc | 64 +-
+ glib/poppler-attachment.cc | 12 +-
+ glib/poppler-cached-file-loader.cc | 16 +-
+ glib/poppler-document.cc | 246 +-
+ glib/poppler-form-field.cc | 30 +-
+ glib/poppler-input-stream.cc | 14 +-
+ glib/poppler-layer.cc | 16 +-
+ glib/poppler-media.cc | 10 +-
+ glib/poppler-movie.cc | 6 +-
+ glib/poppler-page.cc | 124 +-
+ glib/poppler-structure-element.cc | 200 +-
+ glib/poppler.cc | 8 +-
+ goo/GooHash.cc | 24 +-
+ goo/GooString.cc | 16 +-
+ goo/GooTimer.cc | 6 +-
+ goo/PNGWriter.cc | 6 +-
+ goo/TiffWriter.cc | 18 +-
+ goo/gfile.cc | 26 +-
+ goo/gmem.cc | 18 +-
+ goo/grandom.cc | 4 +-
+ goo/gstrtod.cc | 10 +-
+ poppler/Annot.cc | 300 +-
+ poppler/Array.cc | 2 +-
+ poppler/BuiltinFont.cc | 2 +-
+ poppler/BuiltinFontTables.cc | 8374
+ ++++++++++++++++++------------------
+ poppler/CMap.cc | 22 +-
+ poppler/CairoFontEngine.cc | 42 +-
+ poppler/CairoOutputDev.cc | 108 +-
+ poppler/CairoRescaleBox.cc | 6 +-
+ poppler/Catalog.cc | 76 +-
+ poppler/CharCodeToUnicode.cc | 28 +-
+ poppler/CurlCachedFile.cc | 6 +-
+ poppler/DCTStream.cc | 16 +-
+ poppler/DateInfo.cc | 4 +-
+ poppler/Decrypt.cc | 4 +-
+ poppler/Dict.cc | 8 +-
+ poppler/Error.cc | 4 +-
+ poppler/FileSpec.cc | 18 +-
+ poppler/FontEncodingTables.cc | 980 ++---
+ poppler/FontInfo.cc | 22 +-
+ poppler/Form.cc | 70 +-
+ poppler/Function.cc | 26 +-
+ poppler/Gfx.cc | 146 +-
+ poppler/GfxFont.cc | 134 +-
+ poppler/GfxState.cc | 346 +-
+ poppler/GlobalParams.cc | 76 +-
+ poppler/GlobalParamsWin.cc | 170 +-
+ poppler/Hints.cc | 18 +-
+ poppler/JArithmeticDecoder.cc | 2 +-
+ poppler/JBIG2Stream.cc | 202 +-
+ poppler/JPEG2000Stream.cc | 22 +-
+ poppler/Lexer.cc | 8 +-
+ poppler/Linearization.cc | 16 +-
+ poppler/Link.cc | 52 +-
+ poppler/MarkedContentOutputDev.cc | 22 +-
+ poppler/Movie.cc | 2 +-
+ poppler/NameToCharCode.cc | 4 +-
+ poppler/NameToUnicodeTable.h | 4 +-
+ poppler/OptionalContent.cc | 28 +-
+ poppler/Outline.cc | 10 +-
+ poppler/OutputDev.cc | 6 +-
+ poppler/PDFDoc.cc | 84 +-
+ poppler/PSOutputDev.cc | 162 +-
+ poppler/PSOutputDev.h | 2 +-
+ poppler/Page.cc | 10 +-
+ poppler/PageLabelInfo.cc | 2 +-
+ poppler/Parser.cc | 10 +-
+ poppler/PopplerCache.cc | 4 +-
+ poppler/Rendition.cc | 4 +-
+ poppler/SecurityHandler.cc | 26 +-
+ poppler/SignatureHandler.cc | 60 +-
+ poppler/Sound.cc | 10 +-
+ poppler/SplashOutputDev.cc | 186 +-
+ poppler/StdinCachedFile.cc | 2 +-
+ poppler/StdinPDFDocBuilder.cc | 2 +-
+ poppler/Stream.cc | 70 +-
+ poppler/StructElement.cc | 72 +-
+ poppler/StructElement.h | 30 +-
+ poppler/StructTreeRoot.cc | 4 +-
+ poppler/StructTreeRoot.h | 2 +-
+ poppler/TextOutputDev.cc | 224 +-
+ poppler/UTF.cc | 6 +-
+ poppler/UnicodeMap.cc | 18 +-
+ poppler/UnicodeTypeTable.cc | 938 ++--
+ poppler/XRef.cc | 38 +-
+ qt5/demos/abstractinfodock.h | 2 +-
+ qt5/demos/documentobserver.cpp | 2 +-
+ qt5/demos/embeddedfiles.h | 2 +-
+ qt5/demos/fonts.h | 2 +-
+ qt5/demos/info.h | 2 +-
+ qt5/demos/metadata.h | 2 +-
+ qt5/demos/navigationtoolbar.h | 2 +-
+ qt5/demos/optcontent.cpp | 2 +-
+ qt5/demos/optcontent.h | 2 +-
+ qt5/demos/pageview.h | 2 +-
+ qt5/demos/permissions.h | 2 +-
+ qt5/demos/thumbnails.h | 2 +-
+ qt5/demos/toc.cpp | 4 +-
+ qt5/demos/toc.h | 2 +-
+ qt5/demos/viewer.cpp | 4 +-
+ qt5/src/ArthurOutputDev.cc | 2 +-
+ qt5/src/poppler-annotation.cc | 60 +-
+ qt5/src/poppler-base-converter.cc | 8 +-
+ qt5/src/poppler-document.cc | 18 +-
+ qt5/src/poppler-embeddedfile.cc | 14 +-
+ qt5/src/poppler-form.cc | 6 +-
+ qt5/src/poppler-link.cc | 4 +-
+ qt5/src/poppler-media.cc | 2 +-
+ qt5/src/poppler-movie.cc | 2 +-
+ qt5/src/poppler-optcontent.cc | 16 +-
+ qt5/src/poppler-optcontent.h | 2 +-
+ qt5/src/poppler-page.cc | 36 +-
+ qt5/src/poppler-pdf-converter.cc | 2 +-
+ qt5/src/poppler-private.cc | 16 +-
+ qt5/src/poppler-private.h | 2 +-
+ qt5/src/poppler-ps-converter.cc | 10 +-
+ qt5/src/poppler-qt5.h | 8 +-
+ qt5/src/poppler-sound.cc | 2 +-
+ qt5/tests/check_lexer.cpp | 2 +-
+ qt5/tests/check_metadata.cpp | 8 +-
+ qt5/tests/check_search.cpp | 2 +-
+ qt5/tests/stress-threads-qt5.cpp | 12 +-
+ qt5/tests/test-poppler-qt5.cpp | 2 +-
+ splash/Splash.cc | 110 +-
+ splash/SplashBitmap.cc | 18 +-
+ splash/SplashClip.cc | 12 +-
+ splash/SplashFTFont.cc | 8 +-
+ splash/SplashFTFontEngine.cc | 8 +-
+ splash/SplashFTFontFile.cc | 12 +-
+ splash/SplashFont.cc | 8 +-
+ splash/SplashFontEngine.cc | 22 +-
+ splash/SplashFontFile.cc | 4 +-
+ splash/SplashPath.cc | 8 +-
+ splash/SplashScreen.cc | 4 +-
+ splash/SplashState.cc | 22 +-
+ splash/SplashXPath.cc | 8 +-
+ splash/SplashXPathScanner.cc | 4 +-
+ test/CMakeLists.txt | 5 +-
+ test/gtk-test.cc | 28 +-
+ test/pdf-fullrewrite.cc | 14 +-
+ test/pdf-inspector.cc | 22 +-
+ test/perf-test.cc | 66 +-
+ utils/HtmlFonts.cc | 8 +-
+ utils/HtmlLinks.cc | 6 +-
+ utils/HtmlOutputDev.cc | 94 +-
+ utils/ImageOutputDev.cc | 10 +-
+ utils/JSInfo.cc | 4 +-
+ utils/Win32Console.cc | 2 +-
+ utils/parseargs.cc | 2 +-
+ utils/pdfdetach.cc | 8 +-
+ utils/pdffonts.cc | 6 +-
+ utils/pdfimages.cc | 8 +-
+ utils/pdfinfo.cc | 6 +-
+ utils/pdfseparate.cc | 14 +-
+ utils/pdfsig.cc | 12 +-
+ utils/pdftocairo-win32.cc | 22 +-
+ utils/pdftocairo.cc | 34 +-
+ utils/pdftohtml.cc | 36 +-
+ utils/pdftoppm.cc | 20 +-
+ utils/pdftops.cc | 8 +-
+ utils/pdftotext.cc | 10 +-
+ utils/pdfunite.cc | 16 +-
+ 179 files changed, 7929 insertions(+), 7920 deletions(-)
+
+commit 2e47887616155dee566083e1aac9adab69aa4386
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 22:14:34 2018 +0100
+
+ Seems we don't need to set this cmake policies to OLD
+
+ builds fine without warnings
+
+ cmake/modules/PopplerDefaults.cmake | 8 --------
+ 1 file changed, 8 deletions(-)
+
+commit 1ae5d91467663576a5d11add69fa72a2d108f0ad
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 18:45:43 2018 +0100
+
+ Remove useless return in a void function
+
+ poppler/SplashOutputDev.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 8794789a72f845b009656e6d7ae6a00b709e09bc
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Mon Jan 8 18:07:38 2018 +0100
+
+ Delete lots of copy constructors and copy assignment operators
+
+ Fixes rule-of-three and copyable-polymorphic warnings reported
+ by clazy.
+
+ The default copy constructor and copy assignment operator are
+ only valid for simple classes so we delete them (i.e. make then
+ not exist)
+ when we have either a virtual class or a destructor, the code still
+ compiles
+ so this doesn't fix any bug, it is more a protection for when you
+ think you
+ can copy a class and don't realize the default copy constrcutor is
+ not doing
+ what you want and you get crashes. Hopefully this helps us in the
+ future :)
+
+ cpp/poppler-document-private.h | 4 ++++
+ cpp/poppler-embedded-file-private.h | 4 ++++
+ cpp/poppler-global.cpp | 3 +++
+ cpp/poppler-image-private.h | 4 ++++
+ cpp/poppler-image.cpp | 4 +++-
+ cpp/poppler-page-private.h | 4 ++++
+ cpp/poppler-toc-private.h | 4 ++++
+ fofi/FoFiBase.h | 16 ++++++++++++++
+ fofi/FoFiIdentifier.cc | 4 ++++
+ goo/GooMutex.h | 5 ++++-
+ goo/ImgWriter.h | 6 +++++-
+ goo/gfile.h | 5 ++++-
+ poppler/Annot.h | 38
+ +++++++++++++++++++++++++++++++++-
+ poppler/Array.h | 5 ++++-
+ poppler/BuiltinFont.h | 18 ++++++++++++++++
+ poppler/CMap.h | 8 ++++++-
+ poppler/CachedFile.h | 9 +++++++-
+ poppler/CairoFontEngine.h | 6 +++++-
+ poppler/CairoOutputDev.h | 4 ++++
+ poppler/CairoRescaleBox.h | 4 ++++
+ poppler/Catalog.h | 9 +++++++-
+ poppler/CharCodeToUnicode.h | 8 ++++++-
+ poppler/Dict.h | 5 ++++-
+ poppler/FileSpec.h | 8 ++++++-
+ poppler/FontInfo.h | 4 +++-
+ poppler/Form.h | 8 ++++++-
+ poppler/Function.h | 5 ++++-
+ poppler/Gfx.cc | 5 ++++-
+ poppler/Gfx.h | 8 ++++++-
+ poppler/GfxFont.h | 11 +++++++++-
+ poppler/GfxState.cc | 2 ++
+ poppler/GfxState.h | 26 ++++++++++++++++++++++-
+ poppler/GlobalParams.cc | 6 +++++-
+ poppler/GlobalParams.h | 5 ++++-
+ poppler/Hints.h | 5 ++++-
+ poppler/JArithmeticDecoder.h | 18 ++++++++++++++++
+ poppler/JBIG2Stream.cc | 4 +++-
+ poppler/Lexer.h | 5 ++++-
+ poppler/Link.h | 10 +++++++++
+ poppler/MarkedContentOutputDev.h | 4 ++++
+ poppler/Movie.h | 3 ++-
+ poppler/NameToCharCode.h | 17 +++++++++++++++
+ poppler/OptionalContent.h | 11 +++++++++-
+ poppler/Outline.h | 8 ++++++-
+ poppler/PDFDoc.h | 5 ++++-
+ poppler/PDFDocBuilder.h | 8 +++++--
+ poppler/PDFDocFactory.h | 5 ++++-
+ poppler/PSOutputDev.cc | 7 ++++++-
+ poppler/Page.h | 5 ++++-
+ poppler/PageLabelInfo.h | 6 +++++-
+ poppler/Parser.h | 5 ++++-
+ poppler/PopplerCache.h | 18 +++++++++++++---
+ poppler/Rendition.h | 3 ++-
+ poppler/SecurityHandler.cc | 5 ++++-
+ poppler/SecurityHandler.h | 5 ++++-
+ poppler/Sound.h | 5 ++++-
+ poppler/SplashOutputDev.cc | 4 +++-
+ poppler/Stream.h | 14 ++++++++++++-
+ poppler/StructElement.h | 5 ++++-
+ poppler/StructTreeRoot.h | 4 ++++
+ poppler/TextOutputDev.cc | 2 ++
+ poppler/TextOutputDev.h | 29 +++++++++++++++++++++++++-
+ poppler/UnicodeMap.h | 7 +++++++
+ poppler/XRef.cc | 5 ++++-
+ poppler/XRef.h | 9 +++++++-
+ qt5/demos/documentobserver.h | 3 +++
+ qt5/src/poppler-annotation-private.h | 5 ++++-
+ qt5/src/poppler-annotation.cc | 14 ++++++++++++-
+ qt5/src/poppler-converter-private.h | 5 ++++-
+ qt5/src/poppler-embeddedfile-private.h | 5 ++++-
+ qt5/src/poppler-link-private.h | 5 ++++-
+ qt5/src/poppler-media.cc | 5 ++++-
+ qt5/src/poppler-movie.cc | 5 ++++-
+ qt5/src/poppler-optcontent-private.h | 5 ++++-
+ qt5/src/poppler-page-transition.cc | 3 +++
+ qt5/src/poppler-page-transition.h | 3 ++-
+ qt5/src/poppler-private.h | 18 +++++++---------
+ qt5/src/poppler-sound.cc | 5 ++++-
+ splash/Splash.h | 5 ++++-
+ splash/SplashBitmap.h | 5 ++++-
+ splash/SplashClip.h | 5 ++++-
+ splash/SplashFTFontEngine.h | 5 ++++-
+ splash/SplashFont.h | 5 ++++-
+ splash/SplashFontEngine.h | 5 ++++-
+ splash/SplashFontFile.h | 8 ++++++-
+ splash/SplashFontFileID.h | 16 ++++++++++++++
+ splash/SplashPath.h | 17 +++++++++++++++
+ splash/SplashPattern.h | 4 ++++
+ splash/SplashScreen.h | 5 ++++-
+ splash/SplashState.h | 4 ++++
+ splash/SplashXPath.h | 4 ++++
+ splash/SplashXPathScanner.h | 4 ++++
+ test/perf-test.cc | 4 ++++
+ utils/HtmlFonts.h | 4 +++-
+ utils/HtmlLinks.h | 5 ++++-
+ utils/HtmlOutputDev.cc | 4 +++-
+ utils/HtmlOutputDev.h | 13 ++++++++++--
+ 97 files changed, 626 insertions(+), 83 deletions(-)
+
+commit 4c7814342806b61fedbb2d45ce74462f9dbc20bc
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Thu Jan 4 23:12:54 2018 +0100
+
+ Fix assert on malformed documents
+
+ Bug #104354
+
+ poppler/GfxState.cc | 23 ++++++++++++-----------
+ 1 file changed, 12 insertions(+), 11 deletions(-)
+
+commit 6233710068e8406cb44741bdc74d1a0e2582e5cf
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date: Thu Jan 4 15:41:11 2018 +1030
+
+ Remove error for wrong child type for tagged pdf
+
+ It is harmless and as a few PDFs do this it just adds noise to
+ the output.
+
+ Bug #103587
+
+ poppler/StructTreeRoot.cc | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit 321538259a9c79a99ce846a6ea2d94dd7fa56f61
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date: Sun Nov 26 20:43:15 2017 +1030
+
+ Fix some bugs in StructTreeRoot parsing of parent tree
+
+ - Add support for parsing child nodes in the number tree
+ - Number tree keys do not have to be consecutive numbers. Use
+ map instead of vector for parentTree.
+ - Due to performance impact of iterating a map instead of
+ vector in parentTreeAdd, add a reverse mapping from Ref
+ to parentTree.
+ - Add mcid parameter to findParentElement() to enable finding
+ the parent when there are multiple MCIDs on the same page.
+ - Move RefCompare from pdfinfo.cc to Object.h so it can be
+ used by other files.
+
+ Bug #103912
+
+ poppler/Object.h | 8 +++
+ poppler/StructElement.cc | 2 +-
+ poppler/StructTreeRoot.cc | 121
+ +++++++++++++++++++++++++++-------------------
+ poppler/StructTreeRoot.h | 14 ++++--
+ utils/pdfinfo.cc | 6 ---
+ 5 files changed, 91 insertions(+), 60 deletions(-)
+
+commit c4cbb4fd5e062544bf34109140266d0b027a512b
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date: Mon Oct 30 19:21:41 2017 +1030
+
+ Fix pdfimages with flate encoded inline images
+
+ - Remove advance strem pos to end of image code from listImage().
+ getInlineImageLength() already does this.
+
+ - Always EmbedStream in getInlineImageLength() to get size of
+ stored image.
+ The type of encoding does not matter.
+
+ - Use same record EmbeddeStream code for all image types in
+ writeImage()
+
+ - Fix some memory leaks
+
+ Bug #103446
+
+ utils/ImageOutputDev.cc | 54
+ ++++++++++++-------------------------------------
+ 1 file changed, 13 insertions(+), 41 deletions(-)
+
+commit f87238296f7a81f131f2525c4ea3a26d14e8a7ff
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date: Wed Jan 3 08:36:58 2018 +1030
+
+ Fix EmbedStream replay
+
+ Bug #103446
+
+ poppler/Stream.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit e70990c5b2d95a9099b8f4a1c69ca9e5b2a559a4
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 3 00:46:42 2018 +0100
+
+ qt5: make the check for rendition a bit earlier
+
+ qt5/src/poppler-annotation.cc | 9 +++------
+ 1 file changed, 3 insertions(+), 6 deletions(-)
+
+commit 9f08b62ea283ea66b35cfc6dab3e7f45bc4170b9
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 3 00:32:23 2018 +0100
+
+ qt5: Do not assume all Screen annotation actions are Renditions
+
+ Fixes KDE bug #388175
+
+ qt5/src/poppler-annotation.cc | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 15272137daf186114d8dfeb6898d8d90b3ccfd91
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 3 00:14:13 2018 +0100
+
+ Fix undefined sanitizer warning about qsort
+
+ Said the first parameter is defined by spec to not be null and
+ we where
+ passing null when there's no blocks, so add an if
+
+ poppler/TextOutputDev.cc | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 066e6a3e0487f9e011f7b8d1ccff62def8db1e6c
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Jan 3 00:15:14 2018 +0100
+
+ Welcome 2018
+
+ poppler/poppler-config.h.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c9958ecb87de34b923a17521c8bb149569bacca8
+Author: Oliver Sander <oliver.sander at tu-dresden.de>
+Date: Sat Oct 28 21:16:55 2017 +0200
+
+ ArthurOutputDev: Rudimentary support for transparency groups
+
+ This patch adds minimal support for transparency groups. With it,
+ the Arthur backend can render highlight annotations.
+
+ qt5/src/ArthurOutputDev.cc | 46
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ qt5/src/ArthurOutputDev.h | 15 +++++++++++++++
+ 2 files changed, 61 insertions(+)
+
+commit bda1d76fc3c9cf69b2b67d94278e136ac50c3e3b
+Author: Oliver Sander <oliver.sander at tu-dresden.de>
+Date: Fri Dec 29 00:14:44 2017 +0100
+
+ ArthurOutputDev: Replace the QPainter by a stack of QPainters
+
+ This patch lays some groundwork for the support of transparency
+ groups. Transparency groups temporarily create new painters.
+ These get painted upon, and then the resulting new painting
+ will be drawn at once onto the original PaintDevice. To implement
+ this, we need a stack of painters rather than a single one.
+ The first painter on the stack is the original one. Opening a
+ transparency group pushes a new painter onto the stack, and
+ all drawing operations always go to the painter on the top
+ of the stack.
+
+ qt5/src/ArthurOutputDev.cc | 88
+ +++++++++++++++++++++++-----------------------
+ qt5/src/ArthurOutputDev.h | 7 +++-
+ 2 files changed, 50 insertions(+), 45 deletions(-)
+
+commit 71b04b79154a8edd27e73a2360d0c3a901246d8c
+Author: Oliver Sander <oliver.sander at tu-dresden.de>
+Date: Fri Aug 11 22:23:46 2017 +0200
+
+ ArthurOutputDev: Implement updateBlendMode
+
+ qt5/src/ArthurOutputDev.cc | 52
+ ++++++++++++++++++++++++++++++++++++++++++++++
+ qt5/src/ArthurOutputDev.h | 1 +
+ 2 files changed, 53 insertions(+)
+
+commit 9b981f9123fe8c3c8662015de341cff76aa28b07
+Author: Thomas Freitag <Thomas.Freitag at alfa.de>
+Date: Thu Dec 28 00:55:39 2017 +0100
+
+ FoFiTrueType::readPostTable() from xpdf 4.00
+
+ Bug #102880
+
+ fofi/FoFiTrueType.cc | 30 +++++++++++-------------------
+ 1 file changed, 11 insertions(+), 19 deletions(-)
+
+commit 00fc829352716b04d9ab59552daefffed20e2852
+Author: Thomas Freitag <Thomas.Freitag at alfa.de>
+Date: Thu Dec 28 00:55:00 2017 +0100
+
+ Break loop if recursionLimit is reached
+
+ poppler/Parser.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit e41ce80a27b735df8e2ccc17e15adea012543712
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Dec 27 00:18:47 2017 +0100
+
+ OutlineItem: Store parent and refNum
+
+ This way when opening our children we make sure they are not also our
+ parent (i.e. there's a loop)
+
+ Fixes bug #102914
+
+ poppler/Outline.cc | 31 +++++++++++++++++--------------
+ poppler/Outline.h | 6 ++++--
+ 2 files changed, 21 insertions(+), 16 deletions(-)
+
+commit ffefe1c038de555ed39c3d9eca6ef79ac1f97b86
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Dec 26 23:57:21 2017 +0100
+
+ qt5: demo: don't crash if page is malformed
+
+ qt5/demos/pageview.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+commit 81461f4cddf6b8705e6cf24d20084fc71891bb91
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sat Dec 23 11:20:43 2017 +0100
+
+ Remove another LCMS1 old ifdef
+
+ utils/pdftocairo.cc | 9 +--------
+ 1 file changed, 1 insertion(+), 8 deletions(-)
+
+commit 2556ec0705373a01feffe3ca0cd7147af2fdd2c9
+Author: suzuki toshiya <mpsuzuki at hiroshima-u.ac.jp>
+Date: Sat Dec 23 11:19:17 2017 +0100
+
+ Remove libcms1 crumbs from pdftocairo and qt5 frontend
+
+ Bug #104358
+
+ qt5/src/poppler-document.cc | 5 +----
+ utils/pdftocairo.cc | 6 +-----
+ 2 files changed, 2 insertions(+), 9 deletions(-)
+
+commit 48de59a92a5f88d10a1a53abf7f15f578104e1ed
+Author: Carlos Garcia Campos <cgarcia at igalia.com>
+Date: Thu Dec 21 13:25:37 2017 +0100
+
+ regtest: Add an option to exit after n failures
+
+ Note that running jobs are not cancelled when max failures is reached,
+ so we usually end up getting more failures than the maximum.
+
+ regtest/HTMLReport.py | 2 ++
+ regtest/Printer.py | 15 ++++++++++++++
+ regtest/TestRun.py | 46
+ +++++++++++++++++++++++++++++++++++++++++--
+ regtest/commands/run-tests.py | 8 +++++++-
+ 4 files changed, 68 insertions(+), 3 deletions(-)
+
+commit 79a096a48c735ac301ae4d7439bddf630a559a96
+Author: Vincent Le Garrec <legarrec.vincent at gmail.com>
+Date: Thu Dec 21 00:57:48 2017 +0100
+
+ Fix index out of bounds undefined behaviour in PSTokenizer
+
+ Bug #103583
+
+ poppler/PSTokenizer.cc | 7 ++++---
+ 1 file changed, 4 insertions(+), 3 deletions(-)
+
+commit c138ec620b5084348dc892bf9fd8228ed098970a
+Author: Oliver Sander <oliver.sander at tu-dresden.de>
+Date: Tue Nov 28 16:40:40 2017 +0100
+
+ Arthur: 'clip' should intersect new and old clipping path
+
+ Previously, the 'clip' method of the ArthurOutputDev class
+ replaced the current clipping path with the one given in
+ the GfxState variable. However, the expected behavior is
+ to intersect the new path with the old one, and use the
+ result as the new clipping path.
+
+ qt5/src/ArthurOutputDev.cc | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 7b434a7ad9333a3b2250d636a517c58d9a12bca2
+Author: Pekka Vuorela <pekka.vuorela at jollamobile.com>
+Date: Fri Dec 15 16:56:20 2017 +0200
+
+ Honor configuration for building glibc copy of strtok_r
+
+ config.h didn't get included and HAVE_STRTOK_R was never defined.
+ Now getting via glibc.h.
+
+ goo/glibc_strtok_r.cc | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit c2037af18095bb42dd43bafb42650df469e7e5ef
+Author: Oliver Sander <oliver.sander at tu-dresden.de>
+Date: Wed Oct 18 23:23:50 2017 +0200
+
+ Don't let ArthurOutputDev be friend of SplashPath anymore
+
+ Now that ArthurOutputDev uses Qt glyph rendering, there is
+ not need for it to be friend of SplashPath anymore.
+
+ splash/SplashPath.h | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 33c3b391dfc3c10b1b63b0b82df4dcb47b71c53a
+Author: Fredrik Fornwall <fredrik at fornwall.net>
+Date: Tue Dec 19 00:37:44 2017 +0100
+
+ PDFDoc: use %c instead of \x to output binary
+
+ Bug #103873
+
+ poppler/PDFDoc.cc | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 15dd674a384c80a8f3d4f0647f6617ba72d9bd26
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Thu Dec 14 15:11:31 2017 +0100
+
+ Remove unused FindLIBOPENJPEG.cmake
+
+ cmake/modules/FindLIBOPENJPEG.cmake | 64
+ -------------------------------------
+ 1 file changed, 64 deletions(-)
+
+commit 65dcc0b9c16c80e6718ada060d7ac0e2c0e39abf
+Author: Albert Astals Cid <albert.astals.cid at kdab.com>
+Date: Wed Dec 13 10:40:50 2017 +0100
+
+ Reset lastAbortCheck on updateLevel reset
+
+ Otherwise we get to a point that the
+ if (updateLevel - lastAbortCheck > 10) {
+ branch is never executed because updateLevel got to 20000 but
+ lastAbortCheck is still at the last value
+
+ poppler/Gfx.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 3690e96154b226025b465ac2260cf1ff2d269abd
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Wed Dec 13 00:07:20 2017 +0100
+
+ Remove the extern C from glib.h
+
+ Apparently this fixes build with MSVC
+
+ Bug #103621
+
+ goo/glibc.h | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+commit f5706275121409887b0e486b896b48cbcccb766a
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date: Sun Oct 22 10:26:55 2017 +1030
+
+ cairo: limit image size when printing
+
+ 1 bpp image formats can have very large sizes. Even if the maximum
+ cairo image size is not exceeded, it still uses a huge amount
+ of memory
+ and is very slow.
+
+ This limits the image size when printing to 8192x8192 which is
+ sufficient for 300ppi at A2 size. Cairo >= 1.5.10 scales mime images
+ to the same dimensions as the cairo image, so the original mime image
+ can still be embedded.
+
+ Bug 103399
+
+ poppler/CairoOutputDev.cc | 35 ++++++++++++++++++++++++++++++++---
+ 1 file changed, 32 insertions(+), 3 deletions(-)
+
+commit 3f13dd5f04984be1912b4537ffbfacd892750915
+Author: Adrian Johnson <ajohnson at redneon.com>
+Date: Sun Oct 22 09:37:01 2017 +1030
+
+ cairo: support embedding CCITT image data
+
+ Bug 103399
+
+ poppler/CairoOutputDev.cc | 46
+ +++++++++++++++++++++++++++++++++++++++++++---
+ poppler/CairoOutputDev.h | 5 ++++-
+ poppler/Stream.cc | 14 ++++++++++----
+ poppler/Stream.h | 6 +++++-
+ 4 files changed, 62 insertions(+), 9 deletions(-)
+
+commit 3263fa4439e1a09dae6a0332a90b983d25bc218d
+Author: Thomas Freitag <Thomas.Freitag at alfa.de>
+Date: Tue Dec 12 00:26:37 2017 +0100
+
+ windows version for Error out on save if file has changed since we
+ opened it
+
+ goo/gfile.cc | 14 +++++++++++++-
+ goo/gfile.h | 6 ++++--
+ 2 files changed, 17 insertions(+), 3 deletions(-)
+
+commit e4ee1392136188fab0005a0bd7b30c6d9a16d97d
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Tue Dec 12 00:24:31 2017 +0100
+
+ Error out on save if file has changed since we opened it
+
+ In poppler we keep the fd of the file open so the XRef+FileStream can
+ locate objects. This is good since we save lots of memory for
+ not having
+ everything on memory all the time, but that means that when we want to
+ save we need the file to be exactly the same as it was when we created
+ the XRef otherwise we're going to be reading from the wrong part
+ of the
+ "new" file.
+
+ Bug #103793
+
+ goo/gfile.cc | 18 +++++++++++++++++-
+ goo/gfile.h | 10 ++++++++--
+ poppler/ErrorCodes.h | 16 ++++++++++++++++
+ poppler/PDFDoc.cc | 11 +++++++++++
+ 4 files changed, 52 insertions(+), 3 deletions(-)
+
+commit f10359121568409e6062a82de696fe93be615a53
+Author: Albert Astals Cid <aacid at kde.org>
+Date: Sun Dec 3 22:41:32 2017 +0100
+
+ Fix memory leak on error condition
+
+ poppler/Catalog.cc | 1 +
+ 1 file changed, 1 insertion(+)
+
commit 72e0a3a087f160d819f7697a8536bbee12240c7a
Author: Albert Astals Cid <aacid at kde.org>
Date: Sun Dec 3 20:25:06 2017 +0100
Modified: trunk/Build/source/libs/poppler/poppler-src/NEWS
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/NEWS 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/NEWS 2018-03-18 21:59:37 UTC (rev 47014)
@@ -1,3 +1,63 @@
+Release 0.63.0
+ core:
+ * CairoOutputDev: support embedding CCITT image data. Bug #103399
+ * CairoOutputDev: limit image size when printing. Bug #103399
+ * CairoOutputDev: use GOOD instead of BEST as the default cairo filter for scaling. Bug #103136
+ * Error out on save if file has changed since we opened it. Bug #103793
+ * PDFDoc: use %c instead of \x to output binary. Bug #103873
+ * Fix index out of bounds undefined behaviour in PSTokenizer. Bug #103583
+ * Fix opening files with OutlineItem loops. Bug #102914
+ * Fix some bugs in StructTreeRoot parsing of parent tree. Bug #103912
+ * Remove error for wrong child type for tagged pdf. Bug #103587
+ * FoFiTrueType::readPostTable() from xpdf 4.00. Bug #102880
+ * GfxFontDict: merge reference generation from xpdf 4.00. Bug #104565
+ * Reset lastAbortCheck on updateLevel reset
+ * PDFDoc::setup: Fail early if base stream length is 0. Bug #103552
+ * Check curStr is actually a Stream before doing Stream operations. Bug #104518
+ * Fix new Object API porting bug. Bug #104517
+ * Check return code of getChar(), abort reading on error. Bug #104502
+ * TextPage: Add horizontal scaling to font matrix. Bug #105259
+ * Fix EmbedStream replay. Bug #103446
+ * Fix memory leak on error condition
+ * Fix assert on malformed documents. Bug #104354
+ * Fix abort in Gfx::opBeginMarkedContent if args[1] is not a name. Bug #104468
+ * GfxGouraudTriangleShading::parse: Don't abort on malformed documents. Bug #104567
+ * GfxFunctionShading::parse: Fix abort in malformed document. Bug #104581
+ * Remove the extern C from glib.h. Bug #103621
+ * Don't let ArthurOutputDev be friend of SplashPath anymore
+ * Fix undefined sanitizer warning about qsort
+ * Form.h: include time.h for time_t
+ * Various code improvements
+
+ qt5:
+ * Add cancellation support to renderToImage and textList
+ * Do not assume all Screen annotation actions are Renditions. KDE bug #388175
+ * qt5: Implement operator= for PageTransition
+ * ArthurOutputDev: 'clip' should intersect new and old clipping path
+ * ArthurOutputDev: Implement updateBlendMode
+ * ArthurOutputDev: Replace the QPainter by a stack of QPainters
+ * ArthurOutputDev: Rudimentary support for transparency groups
+ * Remove stale libcms1 code. Bug #104358
+ * demo: don't crash if page is malformed
+ * Fix warnings due to the use of deprecated overloads of Poppler::Page::Search in tests.
+
+ utils:
+ * pdfimages: Fix for files with flate encoded inline images. Bug #103446
+ * pdftocairo: Remove stale libcms1 code. Bug #104358
+ * pdfimages: Fix build without libtiff and libpng
+ * pdfseparate: Fix buffer size warning due to missing space for null terminator
+
+ build system:
+ * Enable building all libs as static libs
+ * Enable no-missing-field-initializers
+ * Remove unused FindLIBOPENJPEG.cmake
+ * add "--owner root:0 --group root:0" options to tar command in dist target. Bug #104398
+ * Add python3 support to gtkdoc.py
+ * gtkdoc.py: Make it work with newer gtk-doc. Bug #105075
+
+ cpp:
+ * Add page::text_list
+
Release 0.62.0
core:
* Stop supporting lcms1, you really want to use lcms2 :)
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -57,29 +57,29 @@
if (!(f = fopen(fileName, "rb"))) {
error(errIO, -1, "Cannot open '{0:s}'", fileName);
- return NULL;
+ return nullptr;
}
if (fseek(f, 0, SEEK_END) != 0) {
error(errIO, -1, "Cannot seek to end of '{0:s}'", fileName);
fclose(f);
- return NULL;
+ return nullptr;
}
n = (int)ftell(f);
if (n < 0) {
error(errIO, -1, "Cannot determine length of '{0:s}'", fileName);
fclose(f);
- return NULL;
+ return nullptr;
}
if (fseek(f, 0, SEEK_SET) != 0) {
error(errIO, -1, "Cannot seek to start of '{0:s}'", fileName);
fclose(f);
- return NULL;
+ return nullptr;
}
buf = (char *)gmalloc(n);
if ((int)fread(buf, 1, n, f) != n) {
gfree(buf);
fclose(f);
- return NULL;
+ return nullptr;
}
fclose(f);
*fileLen = n;
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiBase.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,6 +6,20 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef FOFIBASE_H
#define FOFIBASE_H
@@ -25,6 +39,8 @@
class FoFiBase {
public:
+ FoFiBase(const FoFiBase &) = delete;
+ FoFiBase& operator=(const FoFiBase &other) = delete;
virtual ~FoFiBase();
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiEncodings.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiEncodings.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiEncodings.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -34,38 +34,38 @@
//------------------------------------------------------------------------
const char * const fofiType1StandardEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclam",
"quotedbl",
@@ -161,40 +161,40 @@
"bar",
"braceright",
"asciitilde",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"exclamdown",
"cent",
"sterling",
@@ -210,12 +210,12 @@
"guilsinglright",
"fi",
"fl",
- NULL,
+ nullptr,
"endash",
"dagger",
"daggerdbl",
"periodcentered",
- NULL,
+ nullptr,
"paragraph",
"bullet",
"quotesinglbase",
@@ -224,9 +224,9 @@
"guillemotright",
"ellipsis",
"perthousand",
- NULL,
+ nullptr,
"questiondown",
- NULL,
+ nullptr,
"grave",
"acute",
"circumflex",
@@ -235,100 +235,100 @@
"breve",
"dotaccent",
"dieresis",
- NULL,
+ nullptr,
"ring",
"cedilla",
- NULL,
+ nullptr,
"hungarumlaut",
"ogonek",
"caron",
"emdash",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"AE",
- NULL,
+ nullptr,
"ordfeminine",
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"Lslash",
"Oslash",
"OE",
"ordmasculine",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"ae",
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
"dotlessi",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"lslash",
"oslash",
"oe",
"germandbls",
- NULL,
- NULL,
- NULL,
- NULL
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr
};
const char * const fofiType1ExpertEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclamsmall",
"Hungarumlautsmall",
- NULL,
+ nullptr,
"dollaroldstyle",
"dollarsuperior",
"ampersandsmall",
@@ -357,28 +357,28 @@
"threequartersemdash",
"periodsuperior",
"questionsmall",
- NULL,
+ nullptr,
"asuperior",
"bsuperior",
"centsuperior",
"dsuperior",
"esuperior",
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
"isuperior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"lsuperior",
"msuperior",
"nsuperior",
"osuperior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"rsuperior",
"ssuperior",
"tsuperior",
- NULL,
+ nullptr,
"ff",
"fi",
"fl",
@@ -385,7 +385,7 @@
"ffi",
"ffl",
"parenleftinferior",
- NULL,
+ nullptr,
"parenrightinferior",
"Circumflexsmall",
"hyphensuperior",
@@ -420,67 +420,67 @@
"onefitted",
"rupiah",
"Tildesmall",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"exclamdownsmall",
"centoldstyle",
"Lslashsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Scaronsmall",
"Zcaronsmall",
"Dieresissmall",
"Brevesmall",
"Caronsmall",
- NULL,
+ nullptr,
"Dotaccentsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Macronsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"figuredash",
"hypheninferior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Ogoneksmall",
"Ringsmall",
"Cedillasmall",
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
"onequarter",
"onehalf",
"threequarters",
@@ -491,8 +491,8 @@
"seveneighths",
"onethird",
"twothirds",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"zerosuperior",
"onesuperior",
"twosuperior",
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiIdentifier.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -14,6 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2013 Christoph Duelli <duelli at melosgmbh.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -36,6 +37,9 @@
class Reader {
public:
+ Reader() = default;
+ Reader(const Reader &) = delete;
+ Reader& operator=(const Reader &other) = delete;
virtual ~Reader() {}
@@ -186,7 +190,7 @@
FILE *fA;
if (!(fA = fopen(fileName, "rb"))) {
- return NULL;
+ return nullptr;
}
return new FileReader(fA);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiTrueType.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -277,7 +277,7 @@
ff = new FoFiTrueType(fileA, lenA, gFalse, faceIndexA);
if (!ff->parsedOk) {
delete ff;
- return NULL;
+ return nullptr;
}
return ff;
}
@@ -288,12 +288,12 @@
int lenA;
if (!(fileA = FoFiBase::readFile(fileName, &lenA))) {
- return NULL;
+ return nullptr;
}
ff = new FoFiTrueType(fileA, lenA, gTrue, faceIndexA);
if (!ff->parsedOk) {
delete ff;
- return NULL;
+ return nullptr;
}
return ff;
}
@@ -301,11 +301,11 @@
FoFiTrueType::FoFiTrueType(char *fileA, int lenA, GBool freeFileDataA, int faceIndexA):
FoFiBase(fileA, lenA, freeFileDataA)
{
- tables = NULL;
+ tables = nullptr;
nTables = 0;
- cmaps = NULL;
+ cmaps = nullptr;
nCmaps = 0;
- nameToGID = NULL;
+ nameToGID = nullptr;
parsedOk = gFalse;
faceIndex = faceIndexA;
gsubFeatureTable = 0;
@@ -472,10 +472,10 @@
*nCIDs = 0;
if (!getCFFBlock(&start, &length)) {
- return NULL;
+ return nullptr;
}
if (!(ff = FoFiType1C::make(start, length))) {
- return NULL;
+ return nullptr;
}
map = ff->getCIDToGIDMap(nCIDs);
delete ff;
@@ -556,7 +556,7 @@
// write the guts of the dictionary
cvtEncoding(encoding, outputFunc, outputStream);
cvtCharStrings(encoding, codeToGID, outputFunc, outputStream);
- cvtSfnts(outputFunc, outputStream, NULL, gFalse, &maxUsedGlyph);
+ cvtSfnts(outputFunc, outputStream, nullptr, gFalse, &maxUsedGlyph);
// end the dictionary and define the font
(*outputFunc)(outputStream, "FontName currentdict end definefont pop\n", 40);
@@ -701,7 +701,7 @@
(*outputFunc)(outputStream, " end readonly def\n", 19);
// write the guts of the dictionary
- cvtSfnts(outputFunc, outputStream, NULL, needVerticalMetrics, &maxUsedGlyph);
+ cvtSfnts(outputFunc, outputStream, nullptr, needVerticalMetrics, &maxUsedGlyph);
// end the dictionary and define the font
(*outputFunc)(outputStream,
@@ -1061,7 +1061,7 @@
++nNewTables;
}
}
- vmtxTab = NULL; // make gcc happy
+ vmtxTab = nullptr; // make gcc happy
vmtxTabLength = 0;
advance = 0; // make gcc happy
if (needVerticalMetrics) {
@@ -1387,7 +1387,7 @@
nTables = j;
tables = (TrueTypeTable *)greallocn_checkoverflow(tables, nTables, sizeof(TrueTypeTable));
}
- if (!parsedOk || tables == NULL) {
+ if (!parsedOk || tables == nullptr) {
return;
}
@@ -1451,7 +1451,7 @@
void FoFiTrueType::readPostTable() {
GooString *name;
- int tablePos, postFmt, stringIdx, stringPos, savedStringIdx;
+ int tablePos, postFmt, stringIdx, stringPos;
GBool ok;
int i, j, n, m;
@@ -1481,12 +1481,12 @@
stringIdx = 0;
stringPos = tablePos + 34 + 2*n;
for (i = 0; i < n; ++i) {
+ ok = gTrue;
j = getU16BE(tablePos + 34 + 2*i, &ok);
if (j < 258) {
nameToGID->removeInt(macGlyphNames[j]);
nameToGID->add(new GooString(macGlyphNames[j]), i);
} else {
- savedStringIdx = stringIdx;
j -= 258;
if (j != stringIdx) {
for (stringIdx = 0, stringPos = tablePos + 34 + 2*n;
@@ -1493,26 +1493,18 @@
stringIdx < j;
++stringIdx, stringPos += 1 + getU8(stringPos, &ok)) ;
if (!ok) {
- goto err;
+ continue;
}
}
m = getU8(stringPos, &ok);
if (!ok || !checkRegion(stringPos + 1, m)) {
- stringIdx = savedStringIdx;
- if (j < 258) {
- ok = gTrue;
- nameToGID->removeInt(macGlyphNames[j]);
- nameToGID->add(new GooString(macGlyphNames[0]), i);
- } else {
- goto err;
- }
- } else {
- name = new GooString((char *)&file[stringPos + 1], m);
- nameToGID->removeInt(name);
- nameToGID->add(name, i);
- ++stringIdx;
- stringPos += 1 + m;
- }
+ continue;
+ }
+ name = new GooString((char *)&file[stringPos + 1], m);
+ nameToGID->removeInt(name);
+ nameToGID->add(name, i);
+ ++stringIdx;
+ stringPos += 1 + m;
}
}
} else if (postFmt == 0x00028000) {
@@ -1520,7 +1512,7 @@
for (i = 0; i < nGlyphs; ++i) {
j = getU8(tablePos + 32 + i, &ok);
if (!ok) {
- goto err;
+ continue;
}
if (j < 258) {
nameToGID->removeInt(macGlyphNames[j]);
@@ -1534,7 +1526,7 @@
err:
if (nameToGID) {
delete nameToGID;
- nameToGID = NULL;
+ nameToGID = nullptr;
}
}
@@ -1578,7 +1570,7 @@
*/
int FoFiTrueType::setupGSUB(const char *scriptName)
{
- return setupGSUB(scriptName, NULL);
+ return setupGSUB(scriptName, nullptr);
}
/*
@@ -1603,7 +1595,7 @@
int x;
Guint pos;
- if (scriptName == 0) {
+ if (scriptName == nullptr) {
gsubFeatureTable = 0;
return 0;
}
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -54,7 +54,7 @@
int lenA;
if (!(fileA = FoFiBase::readFile(fileName, &lenA))) {
- return NULL;
+ return nullptr;
}
return new FoFiType1(fileA, lenA, gTrue);
}
@@ -62,8 +62,8 @@
FoFiType1::FoFiType1(char *fileA, int lenA, GBool freeFileDataA):
FoFiBase(fileA, lenA, freeFileDataA)
{
- name = NULL;
- encoding = NULL;
+ name = nullptr;
+ encoding = nullptr;
fontMatrix[0] = 0.001;
fontMatrix[1] = 0;
fontMatrix[2] = 0;
@@ -150,7 +150,7 @@
// skip "/Encoding" + one whitespace char,
// then look for 'def' preceded by PostScript whitespace
p = line + 10;
- line = NULL;
+ line = nullptr;
for (; p < (char *)file + len; ++p) {
if ((*p == ' ' || *p == '\t' || *p == '\x0a' ||
*p == '\x0d' || *p == '\x0c' || *p == '\0') &&
@@ -176,7 +176,7 @@
// skip "/Encoding" + one whitespace char,
// then look for 'def' preceded by PostScript whitespace
p = line2 + 10;
- line = NULL;
+ line = nullptr;
for (; p < (char *)file + len; ++p) {
if ((*p == ' ' || *p == '\t' || *p == '\x0a' ||
*p == '\x0d' || *p == '\x0c' || *p == '\0') &&
@@ -207,7 +207,7 @@
++line;
}
if (line >= (char *)file + len) {
- return NULL;
+ return nullptr;
}
return line;
}
@@ -243,7 +243,7 @@
!strncmp(line, "/Encoding 256 array", 19)) {
encoding = (char **)gmallocn(256, sizeof(char *));
for (j = 0; j < 256; ++j) {
- encoding[j] = NULL;
+ encoding[j] = nullptr;
}
continueLine = gFalse;
for (j = 0, line = getNextLine(line);
@@ -324,7 +324,7 @@
}
} else {
if (strtok_r(buf, " \t", &tokptr) &&
- (p = strtok_r(NULL, " \t\n\r", &tokptr)) && !strcmp(p, "def")) {
+ (p = strtok_r(nullptr, " \t\n\r", &tokptr)) && !strcmp(p, "def")) {
break;
}
}
@@ -339,7 +339,7 @@
if ((p2 = strchr(p, ']'))) {
*p2 = '\0';
for (j = 0; j < 6; ++j) {
- if ((p = strtok(j == 0 ? p : (char *)NULL, " \t\n\r"))) {
+ if ((p = strtok(j == 0 ? p : (char *)nullptr, " \t\n\r"))) {
fontMatrix[j] = atof(p);
} else {
break;
Modified: trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1C.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1C.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/fofi/FoFiType1C.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -51,7 +51,7 @@
ff = new FoFiType1C(fileA, lenA, gFalse);
if (!ff->parse()) {
delete ff;
- return NULL;
+ return nullptr;
}
return ff;
}
@@ -62,12 +62,12 @@
int lenA;
if (!(fileA = FoFiBase::readFile(fileName, &lenA))) {
- return NULL;
+ return nullptr;
}
ff = new FoFiType1C(fileA, lenA, gTrue);
if (!ff->parse()) {
delete ff;
- return NULL;
+ return nullptr;
}
return ff;
}
@@ -75,11 +75,11 @@
FoFiType1C::FoFiType1C(char *fileA, int lenA, GBool freeFileDataA):
FoFiBase(fileA, lenA, freeFileDataA)
{
- name = NULL;
- encoding = NULL;
- privateDicts = NULL;
- fdSelect = NULL;
- charset = NULL;
+ name = nullptr;
+ encoding = nullptr;
+ privateDicts = nullptr;
+ fdSelect = nullptr;
+ charset = nullptr;
charsetLength = 0;
}
@@ -112,7 +112,7 @@
}
char *FoFiType1C::getName() {
- return name ? name->getCString() : (char *)NULL;
+ return name ? name->getCString() : (char *)nullptr;
}
char **FoFiType1C::getEncoding() {
@@ -125,10 +125,10 @@
ok = gTrue;
if (gid < 0 || gid >= charsetLength)
- return NULL;
+ return nullptr;
getString(charset[gid], buf, &ok);
if (!ok) {
- return NULL;
+ return nullptr;
}
return new GooString(buf);
}
@@ -140,7 +140,7 @@
// a CID font's top dict has ROS as the first operator
if (topDict.firstOp != 0x0c1e) {
*nCIDs = 0;
- return NULL;
+ return nullptr;
}
// in a CID font, the charset data is the GID-to-CID mapping, so all
@@ -2412,7 +2412,7 @@
} else {
encoding = (char **)gmallocn(256, sizeof(char *));
for (i = 0; i < 256; ++i) {
- encoding[i] = NULL;
+ encoding[i] = nullptr;
}
pos = topDict.encodingOffset;
encFormat = getU8(pos++, &parsedOk);
@@ -2545,7 +2545,7 @@
}
if (!parsedOk) {
gfree(charset);
- charset = NULL;
+ charset = nullptr;
charsetLength = 0;
return gFalse;
}
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/GooHash.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/GooHash.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/GooHash.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -56,7 +56,7 @@
size = 7;
tab = (GooHashBucket **)gmallocn(size, sizeof(GooHashBucket *));
for (h = 0; h < size; ++h) {
- tab[h] = NULL;
+ tab[h] = nullptr;
}
len = 0;
}
@@ -149,7 +149,7 @@
int h;
if (!(p = find(key, &h))) {
- return NULL;
+ return nullptr;
}
return p->val.p;
}
@@ -169,7 +169,7 @@
int h;
if (!(p = find(key, &h))) {
- return NULL;
+ return nullptr;
}
return p->val.p;
}
@@ -191,7 +191,7 @@
int h;
if (!(p = find(key, &h))) {
- return NULL;
+ return nullptr;
}
q = &tab[h];
while (*q != p) {
@@ -237,7 +237,7 @@
int h;
if (!(p = find(key, &h))) {
- return NULL;
+ return nullptr;
}
q = &tab[h];
while (*q != p) {
@@ -279,7 +279,7 @@
void GooHash::startIter(GooHashIter **iter) {
*iter = new GooHashIter;
(*iter)->h = -1;
- (*iter)->p = NULL;
+ (*iter)->p = nullptr;
}
GBool GooHash::getNext(GooHashIter **iter, GooString **key, void **val) {
@@ -292,7 +292,7 @@
while (!(*iter)->p) {
if (++(*iter)->h == size) {
delete *iter;
- *iter = NULL;
+ *iter = nullptr;
return gFalse;
}
(*iter)->p = tab[(*iter)->h];
@@ -312,7 +312,7 @@
while (!(*iter)->p) {
if (++(*iter)->h == size) {
delete *iter;
- *iter = NULL;
+ *iter = nullptr;
return gFalse;
}
(*iter)->p = tab[(*iter)->h];
@@ -324,7 +324,7 @@
void GooHash::killIter(GooHashIter **iter) {
delete *iter;
- *iter = NULL;
+ *iter = nullptr;
}
void GooHash::expand() {
@@ -337,7 +337,7 @@
size = 2*size + 1;
tab = (GooHashBucket **)gmallocn(size, sizeof(GooHashBucket *));
for (h = 0; h < size; ++h) {
- tab[h] = NULL;
+ tab[h] = nullptr;
}
for (i = 0; i < oldSize; ++i) {
while (oldTab[i]) {
@@ -363,7 +363,7 @@
return p;
}
}
- return NULL;
+ return nullptr;
}
GooHashBucket *GooHash::find(const char *key, int *h) {
@@ -375,7 +375,7 @@
return p;
}
}
- return NULL;
+ return nullptr;
}
int GooHash::hash(GooString *key) {
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/GooMutex.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/GooMutex.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/GooMutex.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -17,7 +17,7 @@
//
// Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
-// Copyright (C) 2013 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2013, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
// Copyright (C) 2014 Bogdan Cristea <cristeab at gmail.com>
// Copyright (C) 2014 Peter Breitenlohner <peb at mppmu.mpg.de>
@@ -81,6 +81,9 @@
MutexLocker(GooMutex *mutexA) : mutex(mutexA) { gLockMutex(mutex); }
~MutexLocker() { gUnlockMutex(mutex); }
+ MutexLocker(const MutexLocker &) = delete;
+ MutexLocker& operator=(const MutexLocker &other) = delete;
+
private:
GooMutex *mutex;
};
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/GooString.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/GooString.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/GooString.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -114,7 +114,7 @@
"s",
"t",
"w",
- NULL
+ nullptr
};
//------------------------------------------------------------------------
@@ -185,9 +185,9 @@
}
GooString::GooString() {
- s = NULL;
+ s = nullptr;
length = 0;
- Set(NULL);
+ Set(nullptr);
#if __cplusplus >= 201103L
static_assert(sizeof(GooString) == GooString::STR_FINAL_SIZE, "You should check memory alignment or STR_STATIC_SIZE calculation.");
@@ -195,19 +195,19 @@
}
GooString::GooString(const char *sA) {
- s = NULL;
+ s = nullptr;
length = 0;
Set(sA, CALC_STRING_LEN);
}
GooString::GooString(const char *sA, int lengthA) {
- s = NULL;
+ s = nullptr;
length = 0;
Set(sA, lengthA);
}
GooString::GooString(GooString *str, int idx, int lengthA) {
- s = NULL;
+ s = nullptr;
length = 0;
assert(idx + lengthA <= str->length);
Set(str->getCString() + idx, lengthA);
@@ -214,13 +214,13 @@
}
GooString::GooString(const GooString *str) {
- s = NULL;
+ s = nullptr;
length = 0;
Set(str->getCString(), str->length);
}
GooString::GooString(GooString *str1, GooString *str2) {
- s = NULL;
+ s = nullptr;
length = 0;
resize(str1->length + str2->length);
memcpy(s, str1->getCString(), str1->length);
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/GooTimer.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/GooTimer.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/GooTimer.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -32,7 +32,7 @@
void GooTimer::start() {
#ifdef HAVE_GETTIMEOFDAY
- gettimeofday(&start_time, NULL);
+ gettimeofday(&start_time, nullptr);
#elif defined(_WIN32)
QueryPerformanceCounter(&start_time);
#endif
@@ -41,7 +41,7 @@
void GooTimer::stop() {
#ifdef HAVE_GETTIMEOFDAY
- gettimeofday(&end_time, NULL);
+ gettimeofday(&end_time, nullptr);
#elif defined(_WIN32)
QueryPerformanceCounter(&end_time);
#endif
@@ -55,7 +55,7 @@
struct timeval elapsed;
if (active)
- gettimeofday(&end_time, NULL);
+ gettimeofday(&end_time, nullptr);
if (start_time.tv_usec > end_time.tv_usec) {
end_time.tv_usec += USEC_PER_SEC;
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/ImgWriter.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/ImgWriter.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/ImgWriter.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -5,7 +5,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
-// Copyright (C) 2009, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2010 Brian Cameron <brian.cameron at oracle.com>
// Copyright (C) 2011 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -20,6 +20,10 @@
class ImgWriter
{
public:
+ ImgWriter() = default;
+ ImgWriter(const ImgWriter &) = delete;
+ ImgWriter& operator=(const ImgWriter &other) = delete;
+
virtual ~ImgWriter();
virtual bool init(FILE *f, int width, int height, int hDPI, int vDPI) = 0;
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/PNGWriter.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -41,9 +41,9 @@
{
priv = new PNGWriterPrivate;
priv->format = formatA;
- priv->icc_data = NULL;
+ priv->icc_data = nullptr;
priv->icc_data_size = 0;
- priv->icc_name = NULL;
+ priv->icc_name = nullptr;
priv->sRGB_profile = false;
}
@@ -82,7 +82,7 @@
#endif
/* initialize stuff */
- priv->png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ priv->png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING, nullptr, nullptr, nullptr);
if (!priv->png_ptr) {
error(errInternal, -1, "png_create_write_struct failed");
return false;
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/TiffWriter.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -42,10 +42,10 @@
TiffWriter::TiffWriter(Format formatA)
{
priv = new TiffWriterPrivate;
- priv->f = NULL;
+ priv->f = nullptr;
priv->numRows = 0;
priv->curRow = 0;
- priv->compressionString = NULL;
+ priv->compressionString = nullptr;
priv->format = formatA;
}
@@ -87,12 +87,12 @@
{ "dcs", COMPRESSION_DCS, "Kodak DCS encoding" },
{ "jbig", COMPRESSION_JBIG, "ISO JBIG" },
{ "jp2000", COMPRESSION_JP2000, "Leadtools JPEG2000" },
- { NULL, 0, NULL }
+ { nullptr, 0, nullptr }
};
// Initialize
- priv->f = NULL;
+ priv->f = nullptr;
priv->curRow = 0;
// Store the number of rows
@@ -103,20 +103,20 @@
compression = COMPRESSION_NONE;
- if (priv->compressionString == NULL || strcmp(priv->compressionString, "") == 0) {
+ if (priv->compressionString == nullptr || strcmp(priv->compressionString, "") == 0) {
compression = COMPRESSION_NONE;
} else {
int i;
- for (i = 0; compressionList[i].compressionName != NULL; i++) {
+ for (i = 0; compressionList[i].compressionName != nullptr; i++) {
if (strcmp(priv->compressionString, compressionList[i].compressionName) == 0) {
compression = compressionList[i].compressionCode;
break;
}
}
- if (compressionList[i].compressionName == NULL) {
+ if (compressionList[i].compressionName == nullptr) {
fprintf(stderr, "TiffWriter: Unknown compression type '%.10s', using 'none'.\n", priv->compressionString);
fprintf(stderr, "Known compression types (the tiff library might not support every type)\n");
- for (i = 0; compressionList[i].compressionName != NULL; i++) {
+ for (i = 0; compressionList[i].compressionName != nullptr; i++) {
fprintf(stderr, "%10s %s\n", compressionList[i].compressionName, compressionList[i].compressionDescription);
}
}
@@ -157,7 +157,7 @@
// Open the file
- if (openedFile == NULL) {
+ if (openedFile == nullptr) {
fprintf(stderr, "TiffWriter: No output file given.\n");
return false;
}
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/gfile.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/gfile.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/gfile.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -19,12 +19,12 @@
// Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2008 Adam Batkin <adam at batkin.net>
// Copyright (C) 2008, 2010, 2012, 2013 Hib Eris <hib at hiberis.nl>
-// Copyright (C) 2009, 2012, 2014 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2012, 2014, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
-// Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
+// Copyright (C) 2013, 2018 Adam Reichold <adamreichold at myopera.com>
// Copyright (C) 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2013 Peter Breitenlohner <peb at mppmu.mpg.de>
-// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2013, 2017 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2017 Christoph Cullmann <cullmann at kde.org>
//
// To see a description of the changes please see the Changelog file that
@@ -65,6 +65,40 @@
#define PATH_MAX 1024
#endif
+namespace {
+
+template< typename... >
+struct void_type
+{
+ using type = void;
+};
+
+template< typename... Args >
+using void_t = typename void_type< Args... >::type;
+
+template< typename Stat, typename = void_t<> >
+struct StatMtim
+{
+ static const struct timespec& value(const Stat& stbuf) {
+ return stbuf.st_mtim;
+ }
+};
+
+// Mac OS X uses a different field name than POSIX and this detects it.
+template< typename Stat >
+struct StatMtim< Stat, void_t< decltype ( Stat::st_mtimespec ) > >
+{
+ static const struct timespec& value(const Stat& stbuf) {
+ return stbuf.st_mtimespec;
+ }
+};
+
+inline const struct timespec& mtim(const struct stat& stbuf) {
+ return StatMtim< struct stat >::value(stbuf);
+}
+
+}
+
//------------------------------------------------------------------------
GooString *getCurrentDir() {
@@ -357,7 +391,7 @@
}
s->appendf("x_{0:d}_{1:d}_",
(int)GetCurrentProcessId(), (int)GetCurrentThreadId());
- t = (int)time(NULL);
+ t = (int)time(nullptr);
for (i = 0; i < 1000; ++i) {
s2 = s->copy()->appendf("{0:d}", t + i);
if (!(f2 = fopen(s2->getCString(), "r"))) {
@@ -416,7 +450,7 @@
#endif // HAVE_MKSTEMP
if (fd < 0 || !(*f = fdopen(fd, mode))) {
delete *name;
- *name = NULL;
+ *name = nullptr;
return gFalse;
}
return gTrue;
@@ -548,7 +582,7 @@
}
buf[i] = '\0';
if (i == 0) {
- return NULL;
+ return nullptr;
}
return buf;
}
@@ -599,13 +633,17 @@
#ifdef _WIN32
+GooFile::GooFile(HANDLE handleA) : handle(handleA) {
+ GetFileTime(handleA, nullptr, nullptr, &modifiedTimeOnOpen);
+}
+
int GooFile::read(char *buf, int n, Goffset offset) const {
DWORD m;
- LARGE_INTEGER largeInteger = {0};
+ LARGE_INTEGER largeInteger = {};
largeInteger.QuadPart = offset;
- OVERLAPPED overlapped = {0};
+ OVERLAPPED overlapped = {};
overlapped.Offset = largeInteger.LowPart;
overlapped.OffsetHigh = largeInteger.HighPart;
@@ -624,11 +662,11 @@
HANDLE handle = CreateFileA(fileName->getCString(),
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
+ nullptr,
OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL, NULL);
+ FILE_ATTRIBUTE_NORMAL, nullptr);
- return handle == INVALID_HANDLE_VALUE ? NULL : new GooFile(handle);
+ return handle == INVALID_HANDLE_VALUE ? nullptr : new GooFile(handle);
}
GooFile* GooFile::open(const wchar_t *fileName) {
@@ -635,13 +673,21 @@
HANDLE handle = CreateFileW(fileName,
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
- NULL,
+ nullptr,
OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL, NULL);
+ FILE_ATTRIBUTE_NORMAL, nullptr);
- return handle == INVALID_HANDLE_VALUE ? NULL : new GooFile(handle);
+ return handle == INVALID_HANDLE_VALUE ? nullptr : new GooFile(handle);
}
+bool GooFile::modificationTimeChangedSinceOpen() const
+{
+ struct _FILETIME lastModified;
+ GetFileTime(handle, nullptr, nullptr, &lastModified);
+
+ return modifiedTimeOnOpen.dwHighDateTime != lastModified.dwHighDateTime || modifiedTimeOnOpen.dwLowDateTime != lastModified.dwLowDateTime;
+}
+
#else
int GooFile::read(char *buf, int n, Goffset offset) const {
@@ -667,9 +713,25 @@
int fd = ::open(fileName->getCString(), O_RDONLY);
#endif
- return fd < 0 ? NULL : new GooFile(fd);
+ return fd < 0 ? nullptr : new GooFile(fd);
}
+GooFile::GooFile(int fdA)
+ : fd(fdA)
+{
+ struct stat statbuf;
+ fstat(fd, &statbuf);
+ modifiedTimeOnOpen = mtim(statbuf);
+}
+
+bool GooFile::modificationTimeChangedSinceOpen() const
+{
+ struct stat statbuf;
+ fstat(fd, &statbuf);
+
+ return modifiedTimeOnOpen.tv_sec != mtim(statbuf).tv_sec || modifiedTimeOnOpen.tv_nsec != mtim(statbuf).tv_nsec;
+}
+
#endif // _WIN32
//------------------------------------------------------------------------
@@ -749,7 +811,7 @@
}
GDirEntry *GDir::getNextEntry() {
- GDirEntry *e = NULL;
+ GDirEntry *e = nullptr;
#if defined(_WIN32)
if (hnd != INVALID_HANDLE_VALUE) {
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/gfile.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/gfile.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/gfile.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -16,7 +16,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2009, 2011, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2011, 2012, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
// Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
// Copyright (C) 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -23,6 +23,7 @@
// Copyright (C) 2014 Bogdan Cristea <cristeab at gmail.com>
// Copyright (C) 2014 Peter Breitenlohner <peb at mppmu.mpg.de>
// Copyright (C) 2017 Christoph Cullmann <cullmann at kde.org>
+// Copyright (C) 2017 Thomas Freitag <Thomas.Freitag at alfa.de>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -136,6 +137,9 @@
class GooFile
{
public:
+ GooFile(const GooFile &) = delete;
+ GooFile& operator=(const GooFile &other) = delete;
+
int read(char *buf, int n, Goffset offset) const;
Goffset size() const;
@@ -145,16 +149,23 @@
static GooFile *open(const wchar_t *fileName);
~GooFile() { CloseHandle(handle); }
+
+ // Asuming than on windows you can't change files that are already open
+ bool modificationTimeChangedSinceOpen() const;
private:
- GooFile(HANDLE handleA): handle(handleA) {}
+ GooFile(HANDLE handleA);
HANDLE handle;
+ struct _FILETIME modifiedTimeOnOpen;
#else
~GooFile() { close(fd); }
+
+ bool modificationTimeChangedSinceOpen() const;
private:
- GooFile(int fdA) : fd(fdA) {}
+ GooFile(int fdA);
int fd;
+ struct timespec modifiedTimeOnOpen;
#endif // _WIN32
};
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/glibc.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/glibc.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/glibc.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -7,6 +7,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright (C) 2016, 2017 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
//
//========================================================================
@@ -17,8 +18,6 @@
#include <time.h>
-extern "C" {
-
#ifndef HAVE_GMTIME_R
struct tm *gmtime_r(const time_t *timep, struct tm *result);
#endif
@@ -35,7 +34,5 @@
char * strtok_r (char *s, const char *delim, char **save_ptr);
#endif
-}
-
#endif // GLIBC_H
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/glibc_strtok_r.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/glibc_strtok_r.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/glibc_strtok_r.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -50,6 +50,7 @@
// Copyright (C) 2012 Alexey Pavlov <alexpux at gmail.com>
// Copyright (C) 2012 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2017 Pekka Vuorela <pekka.vuorela at jollamobile.com>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -56,6 +57,8 @@
//
//========================================================================
+#include "glibc.h"
+
#ifndef HAVE_STRTOK_R
#include <string.h>
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/gmem.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/gmem.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/gmem.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -105,11 +105,11 @@
void *p;
if (size == 0) {
- return NULL;
+ return nullptr;
}
if (!(p = malloc(size))) {
fprintf(stderr, "Out of memory\n");
- if (checkoverflow) return NULL;
+ if (checkoverflow) return nullptr;
else exit(1);
}
return p;
@@ -153,7 +153,7 @@
if (p) {
free(p);
}
- return NULL;
+ return nullptr;
}
if (p) {
q = realloc(p, size);
@@ -162,7 +162,7 @@
}
if (!q) {
fprintf(stderr, "Out of memory\n");
- if (checkoverflow) return NULL;
+ if (checkoverflow) return nullptr;
else exit(1);
}
return q;
@@ -181,12 +181,12 @@
int n;
if (nObjs == 0) {
- return NULL;
+ return nullptr;
}
n = nObjs * objSize;
if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
fprintf(stderr, "Bogus memory allocation size\n");
- if (checkoverflow) return NULL;
+ if (checkoverflow) return nullptr;
else exit(1);
}
return gmalloc(n, checkoverflow);
@@ -204,7 +204,7 @@
int n = a * b;
if (b <= 0 || a < 0 || a >= INT_MAX / b) {
fprintf(stderr, "Bogus memory allocation size\n");
- if (checkoverflow) return NULL;
+ if (checkoverflow) return nullptr;
else exit(1);
}
return gmallocn(n, c, checkoverflow);
@@ -225,7 +225,7 @@
if (p) {
gfree(p);
}
- return NULL;
+ return nullptr;
}
n = nObjs * objSize;
if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
@@ -232,7 +232,7 @@
fprintf(stderr, "Bogus memory allocation size\n");
if (checkoverflow) {
gfree(p);
- return NULL;
+ return nullptr;
} else {
exit(1);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/grandom.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/grandom.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/grandom.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -22,7 +22,7 @@
static void initialize() {
if (!initialized) {
- seed = time(NULL);
+ seed = time(nullptr);
initialized = gTrue;
}
}
@@ -49,7 +49,7 @@
static void initialize() {
if (!initialized) {
- srand(time(NULL));
+ srand(time(nullptr));
initialized = gTrue;
}
}
Modified: trunk/Build/source/libs/poppler/poppler-src/goo/gstrtod.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/goo/gstrtod.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/goo/gstrtod.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -34,7 +34,7 @@
double gatof(const char *nptr)
{
- return gstrtod(nptr, NULL);
+ return gstrtod(nptr, nullptr);
}
double gstrtod(const char *nptr, char **endptr)
@@ -45,17 +45,17 @@
const char *decimal_point;
int decimal_point_len;
const char *p, *decimal_point_pos;
- const char *end = NULL; /* Silence gcc */
+ const char *end = nullptr; /* Silence gcc */
int strtod_errno;
- fail_pos = NULL;
+ fail_pos = nullptr;
locale_data = localeconv ();
decimal_point = locale_data->decimal_point;
decimal_point_len = strlen (decimal_point);
- decimal_point_pos = NULL;
- end = NULL;
+ decimal_point_pos = nullptr;
+ end = nullptr;
if (decimal_point[0] != '.' || decimal_point[1] != 0) {
p = nptr;
Modified: trunk/Build/source/libs/poppler/poppler-src/gtkdoc.py
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/gtkdoc.py 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/gtkdoc.py 2018-03-18 21:59:37 UTC (rev 47014)
@@ -21,6 +21,7 @@
import subprocess
import sys
+PY2 = sys.version_info[0] == 2
class GTKDoc(object):
@@ -194,14 +195,20 @@
if print_output:
if stdout:
- try:
- sys.stdout.write(stdout.encode("utf-8"))
- except UnicodeDecodeError:
+ if PY2:
+ try:
+ sys.stdout.write(stdout.encode("utf-8"))
+ except UnicodeDecodeError:
+ sys.stdout.write(stdout)
+ else:
sys.stdout.write(stdout)
if stderr:
- try:
- sys.stderr.write(stderr.encode("utf-8"))
- except UnicodeDecodeError:
+ if PY2:
+ try:
+ sys.stderr.write(stderr.encode("utf-8"))
+ except UnicodeDecodeError:
+ sys.stderr.write(stderr)
+ else:
sys.stderr.write(stderr)
if process.returncode != 0:
@@ -319,9 +326,9 @@
ldflags = ' "-L%s" %s ' % (self.library_path, additional_ldflags) + ldflags
current_ld_library_path = env.get('LD_LIBRARY_PATH')
if current_ld_library_path:
- env['RUN'] = 'LD_LIBRARY_PATH="%s:%s" ' % (self.library_path, current_ld_library_path)
+ env['LD_LIBRARY_PATH'] = '%s:%s' % (self.library_path, current_ld_library_path)
else:
- env['RUN'] = 'LD_LIBRARY_PATH="%s" ' % self.library_path
+ env['LD_LIBRARY_PATH'] = self.library_path
if ldflags:
env['LDFLAGS'] = '%s %s' % (ldflags, env.get('LDFLAGS', ''))
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -114,7 +114,7 @@
#define bezierCircle 0.55228475
static AnnotLineEndingStyle parseAnnotLineEndingStyle(GooString *string) {
- if (string != NULL) {
+ if (string != nullptr) {
if (!string->cmp("Square")) {
return annotLineEndingSquare;
} else if (!string->cmp("Circle")) {
@@ -186,7 +186,7 @@
}
static PDFRectangle *parseDiffRectangle(Array *array, PDFRectangle *rect) {
- PDFRectangle *newRect = NULL;
+ PDFRectangle *newRect = nullptr;
if (array->getLength() == 4) {
// deltas
Object obj1;
@@ -224,7 +224,7 @@
type == Annot::actionPageOpening ? "PO" :
type == Annot::actionPageClosing ? "PC" :
type == Annot::actionPageVisible ? "PV" :
- type == Annot::actionPageInvisible ? "PI" : NULL);
+ type == Annot::actionPageInvisible ? "PI" : nullptr);
Object actionObject = additionalActionsObject.dictLookup(key);
if (actionObject.isDict())
@@ -242,7 +242,7 @@
const char *key = (type == Annot::actionFieldModified ? "K" :
type == Annot::actionFormatField ? "F" :
type == Annot::actionValidateField ? "V" :
- type == Annot::actionCalculateField ? "C" : NULL);
+ type == Annot::actionCalculateField ? "C" : nullptr);
Object actionObject = additionalActionsObject.dictLookup(key);
if (actionObject.isDict())
@@ -284,12 +284,12 @@
//------------------------------------------------------------------------
AnnotPath::AnnotPath() {
- coords = NULL;
+ coords = nullptr;
coordsLength = 0;
}
AnnotPath::AnnotPath(Array *array) {
- coords = NULL;
+ coords = nullptr;
coordsLength = 0;
parsePathArray(array);
}
@@ -322,7 +322,7 @@
AnnotCoord *AnnotPath::getCoord(int coord) const {
if (coord >= 0 && coord < coordsLength)
return coords[coord];
- return NULL;
+ return nullptr;
}
void AnnotPath::parsePathArray(Array *array) {
@@ -398,7 +398,7 @@
double quadArray[8];
// default values
- quadrilaterals = NULL;
+ quadrilaterals = nullptr;
quadrilateralsLength = 0;
if ((arrayLength % 8) == 0) {
@@ -514,7 +514,7 @@
AnnotBorder::AnnotBorder() {
width = 1;
dashLength = 0;
- dash = NULL;
+ dash = nullptr;
style = borderSolid;
}
@@ -892,7 +892,7 @@
}
GooString * AnnotAppearance::getStateKey(int i) {
- GooString * res = NULL;
+ GooString * res = nullptr;
Object obj1 = appearDict.dictLookupNF("N");
if (obj1.isDict())
res = new GooString(obj1.dictGetKey(i));
@@ -1018,10 +1018,10 @@
if (colorComponents->getLength() > 0) {
borderColor = new AnnotColor(colorComponents);
} else {
- borderColor = NULL;
+ borderColor = nullptr;
}
} else {
- borderColor = NULL;
+ borderColor = nullptr;
}
obj1 = dict->lookup("BG");
@@ -1030,10 +1030,10 @@
if (colorComponents->getLength() > 0) {
backColor = new AnnotColor(colorComponents);
} else {
- backColor = NULL;
+ backColor = nullptr;
}
} else {
- backColor = NULL;
+ backColor = nullptr;
}
obj1 = dict->lookup("CA");
@@ -1040,7 +1040,7 @@
if (obj1.isString()) {
normalCaption = new GooString(obj1.getString());
} else {
- normalCaption = NULL;
+ normalCaption = nullptr;
}
obj1 = dict->lookup("RC");
@@ -1047,7 +1047,7 @@
if (obj1.isString()) {
rolloverCaption = new GooString(obj1.getString());
} else {
- rolloverCaption = NULL;
+ rolloverCaption = nullptr;
}
obj1 = dict->lookup("AC");
@@ -1054,7 +1054,7 @@
if (obj1.isString()) {
alternateCaption = new GooString(obj1.getString());
} else {
- alternateCaption = NULL;
+ alternateCaption = nullptr;
}
obj1 = dict->lookup("IF");
@@ -1061,7 +1061,7 @@
if (obj1.isDict()) {
iconFit = new AnnotIconFit(obj1.getDict());
} else {
- iconFit = NULL;
+ iconFit = nullptr;
}
obj1 = dict->lookup("TP");
@@ -1198,10 +1198,10 @@
ok = gTrue;
doc = docA;
xref = doc->getXRef();
- appearStreams = NULL;
- appearBBox = NULL;
- appearState = NULL;
- appearBuf = NULL;
+ appearStreams = nullptr;
+ appearBBox = nullptr;
+ appearState = nullptr;
+ appearBuf = nullptr;
fontSize = 0;
appearance.setToNull();
@@ -1255,7 +1255,7 @@
if (obj1.isString()) {
name = obj1.getString()->copy();
} else {
- name = NULL;
+ name = nullptr;
}
obj1 = dict->lookup("M");
@@ -1262,7 +1262,7 @@
if (obj1.isString()) {
modified = obj1.getString()->copy();
} else {
- modified = NULL;
+ modified = nullptr;
}
//----- get the flags
@@ -1310,13 +1310,13 @@
if (obj1.isArray())
border = new AnnotBorderArray(obj1.getArray());
else
- border = NULL;
+ border = nullptr;
obj1 = dict->lookup("C");
if (obj1.isArray()) {
color = new AnnotColor(obj1.getArray());
} else {
- color = NULL;
+ color = nullptr;
}
obj1 = dict->lookup("StructParent");
@@ -1380,7 +1380,7 @@
/* Set M to current time, unless we are updating M itself */
if (strcmp(key, "M") != 0) {
delete modified;
- modified = timeToDateString(NULL);
+ modified = timeToDateString(nullptr);
annotObj.dictSet("M", Object(modified->copy()));
}
@@ -1447,7 +1447,7 @@
update(new_border->getType() == AnnotBorder::typeArray ? "Border" : "BS", std::move(obj1));
border = new_border;
} else {
- border = NULL;
+ border = nullptr;
}
invalidateAppearance();
}
@@ -1461,7 +1461,7 @@
update ("C", std::move(obj1));
color = new_color;
} else {
- color = NULL;
+ color = nullptr;
}
invalidateAppearance();
}
@@ -1493,7 +1493,7 @@
appearState = new GooString(state);
delete appearBBox;
- appearBBox = NULL;
+ appearBBox = nullptr;
update ("AS", Object(objName, state));
@@ -1511,13 +1511,13 @@
appearStreams->removeAllStreams();
}
delete appearStreams;
- appearStreams = NULL;
+ appearStreams = nullptr;
delete appearState;
- appearState = NULL;
+ appearState = nullptr;
delete appearBBox;
- appearBBox = NULL;
+ appearBBox = nullptr;
appearance.setToNull();
@@ -1811,7 +1811,7 @@
int Annot::getRotation() const
{
Page *pageobj = doc->getPage(page);
- assert(pageobj != NULL);
+ assert(pageobj != nullptr);
if (flags & flagNoRotate) {
return (360 - pageobj->getRotate()) % 360;
@@ -1827,7 +1827,7 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
@@ -1837,8 +1837,6 @@
AnnotPopup::AnnotPopup(PDFDoc *docA, PDFRectangle *rect) :
Annot(docA, rect) {
- Object obj1;
-
type = typePopup;
annotObj.dictSet ("Subtype", Object(objName, "Popup"));
@@ -1916,7 +1914,7 @@
if (obj1.isString()) {
label = obj1.getString()->copy();
} else {
- label = NULL;
+ label = nullptr;
}
obj1 = dict->lookup("Popup");
@@ -1924,7 +1922,7 @@
if (obj1.isDict() && obj2.isRef()) {
popup = new AnnotPopup(docA, &obj1, &obj2);
} else {
- popup = NULL;
+ popup = nullptr;
}
obj1 = dict->lookup("CA");
@@ -1938,7 +1936,7 @@
if (obj1.isString()) {
date = obj1.getString()->copy();
} else {
- date = NULL;
+ date = nullptr;
}
obj1 = dict->lookupNF("IRT");
@@ -1953,7 +1951,7 @@
if (obj1.isString()) {
subject = obj1.getString()->copy();
} else {
- subject = NULL;
+ subject = nullptr;
}
obj1 = dict->lookup("RT");
@@ -2000,7 +1998,7 @@
// associated with a page, then we need to remove that
// popup annotation from the page. Otherwise we would have
// dangling references to it.
- if (popup != NULL && popup->getPageNum() != 0) {
+ if (popup != nullptr && popup->getPageNum() != 0) {
Page *pageobj = doc->getPage(popup->getPageNum());
if (pageobj) {
pageobj->removeAnnot(popup);
@@ -2019,12 +2017,12 @@
// add the new popup annotation to the same page.
if (page != 0) {
Page *pageobj = doc->getPage(page);
- assert(pageobj != NULL); // pageobj should exist in doc (see setPage())
+ assert(pageobj != nullptr); // pageobj should exist in doc (see setPage())
pageobj->addAnnot(popup);
}
} else {
- popup = NULL;
+ popup = nullptr;
}
}
@@ -2047,7 +2045,7 @@
void AnnotMarkup::removeReferencedObjects() {
Page *pageobj = doc->getPage(page);
- assert(pageobj != NULL); // We're called when removing an annot from a page
+ assert(pageobj != nullptr); // We're called when removing an annot from a page
// Remove popup
if (popup) {
@@ -2163,8 +2161,6 @@
}
void AnnotText::setOpen(GBool openA) {
- Object obj1;
-
open = openA;
update ("Open", Object(open));
}
@@ -2478,7 +2474,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -2487,12 +2483,12 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
if (appearBBox) {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
appearBBox->getPageXMin(), appearBBox->getPageYMin(),
appearBBox->getPageXMax(), appearBBox->getPageYMax(),
getRotation());
} else {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
}
@@ -2502,8 +2498,6 @@
//------------------------------------------------------------------------
AnnotLink::AnnotLink(PDFDoc *docA, PDFRectangle *rect) :
Annot(docA, rect) {
- Object obj1;
-
type = typeLink;
annotObj.dictSet ("Subtype", Object(objName, "Link"));
initialize (docA, annotObj.getDict());
@@ -2529,7 +2523,7 @@
void AnnotLink::initialize(PDFDoc *docA, Dict *dict) {
Object obj1;
- action = NULL;
+ action = nullptr;
// look for destination
obj1 = dict->lookup("Dest");
@@ -2574,7 +2568,7 @@
if (obj1.isArray()) {
quadrilaterals = new AnnotQuadrilaterals(obj1.getArray(), rect);
} else {
- quadrilaterals = NULL;
+ quadrilaterals = nullptr;
}
obj1 = dict->lookup("BS");
@@ -2602,8 +2596,6 @@
//------------------------------------------------------------------------
AnnotFreeText::AnnotFreeText(PDFDoc *docA, PDFRectangle *rect, GooString *da) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeFreeText;
annotObj.dictSet ("Subtype", Object(objName, "FreeText"));
@@ -2657,7 +2649,7 @@
if (obj1.isString()) {
styleString = obj1.getString()->copy();
} else {
- styleString = NULL;
+ styleString = nullptr;
}
obj1 = dict->lookup("CL");
@@ -2679,7 +2671,7 @@
calloutLine = new AnnotCalloutLine(x1, y1, x2, y2);
}
} else {
- calloutLine = NULL;
+ calloutLine = nullptr;
}
obj1 = dict->lookup("IT");
@@ -2711,7 +2703,7 @@
if (obj1.isDict()) {
borderEffect = new AnnotBorderEffect(obj1.getDict());
} else {
- borderEffect = NULL;
+ borderEffect = nullptr;
}
obj1 = dict->lookup("RD");
@@ -2718,7 +2710,7 @@
if (obj1.isArray()) {
rectangle = parseDiffRectangle(obj1.getArray(), rect);
} else {
- rectangle = NULL;
+ rectangle = nullptr;
}
obj1 = dict->lookup("LE");
@@ -2749,7 +2741,6 @@
}
void AnnotFreeText::setQuadding(AnnotFreeTextQuadding new_quadding) {
- Object obj1;
quadding = new_quadding;
update ("Q", Object((int)quadding));
invalidateAppearance();
@@ -2775,9 +2766,9 @@
delete calloutLine;
Object obj1;
- if (line == NULL) {
+ if (line == nullptr) {
obj1.setToNull();
- calloutLine = NULL;
+ calloutLine = nullptr;
} else {
double x1 = line->getX1(), y1 = line->getY1();
double x2 = line->getX2(), y2 = line->getY2();
@@ -2834,7 +2825,7 @@
void AnnotFreeText::parseAppearanceString(GooString *da, double &fontsize, AnnotColor* &fontcolor) {
fontsize = -1;
- fontcolor = NULL;
+ fontcolor = nullptr;
if (da) {
GooList * daToks = new GooList();
int i = FormFieldText::tokenizeDA(da, daToks, "Tf");
@@ -2845,7 +2836,7 @@
}
// Scan backwards: we are looking for the last set value
for (i = daToks->getLength()-1; i >= 0; --i) {
- if (fontcolor == NULL) {
+ if (fontcolor == nullptr) {
if (!((GooString *)daToks->get(i))->cmp("g") && i >= 1) {
fontcolor = new AnnotColor(gatof(( (GooString *)daToks->get(i-1) )->getCString()));
} else if (!((GooString *)daToks->get(i))->cmp("rg") && i >= 3) {
@@ -2886,7 +2877,7 @@
// Default values
if (fontsize <= 0)
fontsize = 10;
- if (fontcolor == NULL)
+ if (fontcolor == nullptr)
fontcolor = new AnnotColor(0, 0, 0); // Black
if (!contents)
contents = new GooString ();
@@ -2925,7 +2916,7 @@
while (i < contents->getLength()) {
GooString out;
double linewidth, xpos;
- layoutText(contents, &out, &i, font, &linewidth, textwidth/fontsize, NULL, gFalse);
+ layoutText(contents, &out, &i, font, &linewidth, textwidth/fontsize, nullptr, gFalse);
linewidth *= fontsize;
switch (quadding) {
case quaddingCentered:
@@ -2960,7 +2951,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -2977,7 +2968,7 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
@@ -2996,8 +2987,6 @@
AnnotLine::AnnotLine(PDFDoc *docA, PDFRectangle *rect) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeLine;
annotObj.dictSet ("Subtype", Object(objName, "Line"));
@@ -3065,7 +3054,7 @@
if (obj1.isArray()) {
interiorColor = new AnnotColor(obj1.getArray());
} else {
- interiorColor = NULL;
+ interiorColor = nullptr;
}
obj1 = dict->lookup("LL");
@@ -3134,9 +3123,9 @@
obj1 = dict->lookup("Measure");
if (obj1.isDict()) {
- measure = NULL;
+ measure = nullptr;
} else {
- measure = NULL;
+ measure = nullptr;
}
obj1 = dict->lookup("CO");
@@ -3202,7 +3191,7 @@
update ("IC", std::move(obj1));
interiorColor = new_color;
} else {
- interiorColor = NULL;
+ interiorColor = nullptr;
}
invalidateAppearance();
}
@@ -3289,7 +3278,7 @@
while (i < contents->getLength()) {
GooString out;
double linewidth;
- layoutText(contents, &out, &i, font, &linewidth, 0, NULL, gFalse);
+ layoutText(contents, &out, &i, font, &linewidth, 0, nullptr, gFalse);
linewidth *= fontsize;
if (linewidth > captionwidth) {
captionwidth = linewidth;
@@ -3303,7 +3292,7 @@
}
} else {
fontResDict = nullptr;
- font = NULL;
+ font = nullptr;
}
// Draw main segment
@@ -3358,7 +3347,7 @@
while (i < contents->getLength()) {
GooString out;
double linewidth, xpos;
- layoutText(contents, &out, &i, font, &linewidth, 0, NULL, gFalse);
+ layoutText(contents, &out, &i, font, &linewidth, 0, nullptr, gFalse);
linewidth *= fontsize;
xpos = (captionwidth - linewidth) / 2;
appearBuf->appendf("{0:.2f} {1:.2f} Td\n", xpos - xposPrev, -fontsize);
@@ -3400,7 +3389,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -3418,12 +3407,12 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
if (appearBBox) {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
appearBBox->getPageXMin(), appearBBox->getPageYMin(),
appearBBox->getPageXMax(), appearBBox->getPageYMax(),
getRotation());
} else {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
}
@@ -3442,8 +3431,6 @@
//------------------------------------------------------------------------
AnnotTextMarkup::AnnotTextMarkup(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
switch (subType) {
case typeHighlight:
annotObj.dictSet ("Subtype", Object(objName, "Highlight"));
@@ -3500,7 +3487,7 @@
quadrilaterals = new AnnotQuadrilaterals(obj1.getArray(), rect);
} else {
error(errSyntaxError, -1, "Bad Annot Text Markup QuadPoints");
- quadrilaterals = NULL;
+ quadrilaterals = nullptr;
ok = gFalse;
}
}
@@ -3695,11 +3682,11 @@
bbox[1] = appearBBox->getPageYMin();
bbox[2] = appearBBox->getPageXMax();
bbox[3] = appearBBox->getPageYMax();
- aStream = createForm(bbox, gTrue, NULL);
+ aStream = createForm(bbox, gTrue, nullptr);
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", 1, blendMultiply ? "Multiply" : NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", 1, blendMultiply ? "Multiply" : nullptr);
if (ca == 1) {
appearance = createForm(bbox, gFalse, resDict);
} else {
@@ -3707,7 +3694,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict2 = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict2 = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict2);
}
delete appearBuf;
@@ -3716,12 +3703,12 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
if (appearBBox) {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
appearBBox->getPageXMin(), appearBBox->getPageYMin(),
appearBBox->getPageXMax(), appearBBox->getPageYMax(),
getRotation());
} else {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
}
@@ -3733,7 +3720,7 @@
AnnotWidget::AnnotWidget(PDFDoc *docA, Object *dictObject, Object *obj) :
Annot(docA, dictObject, obj) {
type = typeWidget;
- field = NULL;
+ field = nullptr;
initialize(docA, dictObject->getDict());
}
@@ -3781,10 +3768,10 @@
if (obj1.isDict()) {
appearCharacs = new AnnotAppearanceCharacs(obj1.getDict());
} else {
- appearCharacs = NULL;
+ appearCharacs = nullptr;
}
- action = NULL;
+ action = nullptr;
obj1 = dict->lookup("A");
if (obj1.isDict()) {
action = LinkAction::parseAction(&obj1, doc->getCatalog()->getBaseURI());
@@ -3794,9 +3781,9 @@
obj1 = dict->lookup("Parent");
if (obj1.isDict()) {
- parent = NULL;
+ parent = nullptr;
} else {
- parent = NULL;
+ parent = nullptr;
}
obj1 = dict->lookup("BS");
@@ -4008,13 +3995,13 @@
// Compute the actual width and character count of the final string, based on
// breakpoint, if this information is requested by the caller.
- if (width != NULL || charCount != NULL) {
+ if (width != nullptr || charCount != nullptr) {
char *s = outBuf->getCString();
int len = outBuf->getLength();
- if (width != NULL)
+ if (width != nullptr)
*width = 0.0;
- if (charCount != NULL)
+ if (charCount != nullptr)
*charCount = 0;
while (len > 0) {
@@ -4025,9 +4012,9 @@
break;
}
- if (width != NULL)
+ if (width != nullptr)
*width += dx;
- if (charCount != NULL)
+ if (charCount != nullptr)
*charCount += 1;
s += n;
@@ -4104,7 +4091,7 @@
}
}
} else {
- daToks = NULL;
+ daToks = nullptr;
}
// force ZapfDingbats
@@ -4118,7 +4105,7 @@
}
}
// get the font and font size
- font = NULL;
+ font = nullptr;
fontSize = 0;
if (tfPos >= 0) {
tok = (GooString *)daToks->get(tfPos);
@@ -4214,7 +4201,7 @@
y = dy - 3;
i = 0;
while (i < text->getLength()) {
- layoutText(text, convertedText, &i, font, &w, wMax / fontSize, NULL,
+ layoutText(text, convertedText, &i, font, &w, wMax / fontSize, nullptr,
forceZapfDingbats);
y -= fontSize;
}
@@ -4261,7 +4248,7 @@
i = 0;
xPrev = 0;
while (i < text->getLength()) {
- layoutText(text, convertedText, &i, font, &w, wMax / fontSize, NULL,
+ layoutText(text, convertedText, &i, font, &w, wMax / fontSize, nullptr,
forceZapfDingbats);
w *= fontSize;
@@ -4314,7 +4301,7 @@
}
i = 0;
- layoutText(text, convertedText, &i, font, NULL, 0.0, &charCount,
+ layoutText(text, convertedText, &i, font, nullptr, 0.0, &charCount,
forceZapfDingbats);
if (charCount > comb)
charCount = comb;
@@ -4391,7 +4378,7 @@
// regular (non-comb) formatting
} else {
i = 0;
- layoutText(text, convertedText, &i, font, &w, 0.0, NULL,
+ layoutText(text, convertedText, &i, font, &w, 0.0, nullptr,
forceZapfDingbats);
// compute font autosize
@@ -4508,11 +4495,11 @@
}
}
} else {
- daToks = NULL;
+ daToks = nullptr;
}
// get the font and font size
- font = NULL;
+ font = nullptr;
fontSize = 0;
if (tfPos >= 0) {
tok = (GooString *)daToks->get(tfPos);
@@ -4545,7 +4532,7 @@
wMax = 0;
for (i = 0; i < fieldChoice->getNumChoices(); ++i) {
j = 0;
- if (fieldChoice->getChoice(i) == NULL) {
+ if (fieldChoice->getChoice(i) == nullptr) {
error(errSyntaxError, -1, "Invalid annotation listbox");
if (daToks) {
deleteGooList(daToks, GooString);
@@ -4553,7 +4540,7 @@
delete convertedText;
return;
}
- layoutText(fieldChoice->getChoice(i), convertedText, &j, font, &w, 0.0, NULL, gFalse);
+ layoutText(fieldChoice->getChoice(i), convertedText, &j, font, &w, 0.0, nullptr, gFalse);
if (w > wMax) {
wMax = w;
}
@@ -4591,7 +4578,7 @@
// compute text width and start position
j = 0;
- layoutText(fieldChoice->getChoice(i), convertedText, &j, font, &w, 0.0, NULL, gFalse);
+ layoutText(fieldChoice->getChoice(i), convertedText, &j, font, &w, 0.0, nullptr, gFalse);
w *= fontSize;
switch (quadding) {
case quaddingLeftJustified:
@@ -4668,7 +4655,7 @@
double dy = rect->y2 - rect->y1;
// radio buttons with no caption have a round border
- GBool hasCaption = appearCharacs->getNormalCaption() != NULL;
+ GBool hasCaption = appearCharacs->getNormalCaption() != nullptr;
if (field->getType() == formButton &&
static_cast<FormFieldButton*>(field)->getButtonType() == formButtonRadio && !hasCaption) {
double r = 0.5 * (dx < dy ? dx : dy);
@@ -4757,7 +4744,7 @@
}
void AnnotWidget::drawFormFieldButton(GfxResources *resources, GooString *da) {
- GooString *caption = NULL;
+ GooString *caption = nullptr;
if (appearCharacs)
caption = appearCharacs->getNormalCaption();
@@ -4978,7 +4965,7 @@
gfx->pushResources(dict);
delete dict;
}
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
if (addDingbatsResource) {
gfx->popResources();
@@ -4991,8 +4978,6 @@
//------------------------------------------------------------------------
AnnotMovie::AnnotMovie(PDFDoc *docA, PDFRectangle *rect, Movie *movieA) :
Annot(docA, rect) {
- Object obj1;
-
type = typeMovie;
annotObj.dictSet ("Subtype", Object(objName, "Movie"));
@@ -5021,7 +5006,7 @@
if (obj1.isString()) {
title = obj1.getString()->copy();
} else {
- title = NULL;
+ title = nullptr;
}
Object movieDict = dict->lookup("Movie");
@@ -5033,12 +5018,12 @@
movie = new Movie (&movieDict);
if (!movie->isOk()) {
delete movie;
- movie = NULL;
+ movie = nullptr;
ok = gFalse;
}
} else {
error(errSyntaxError, -1, "Bad Annot Movie");
- movie = NULL;
+ movie = nullptr;
ok = gFalse;
}
}
@@ -5118,7 +5103,7 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
@@ -5127,8 +5112,6 @@
//------------------------------------------------------------------------
AnnotScreen::AnnotScreen(PDFDoc *docA, PDFRectangle *rect) :
Annot(docA, rect) {
- Object obj1;
-
type = typeScreen;
annotObj.dictSet ("Subtype", Object(objName, "Screen"));
@@ -5150,13 +5133,13 @@
void AnnotScreen::initialize(PDFDoc *docA, Dict* dict) {
Object obj1;
- title = NULL;
+ title = nullptr;
obj1 = dict->lookup("T");
if (obj1.isString()) {
title = obj1.getString()->copy();
}
- action = NULL;
+ action = nullptr;
obj1 = dict->lookup("A");
if (obj1.isDict()) {
action = LinkAction::parseAction(&obj1, doc->getCatalog()->getBaseURI());
@@ -5163,7 +5146,7 @@
if (action && action->getKind() == actionRendition && page == 0) {
error (errSyntaxError, -1, "Invalid Rendition action: associated screen annotation without P");
delete action;
- action = NULL;
+ action = nullptr;
ok = gFalse;
}
}
@@ -5170,7 +5153,7 @@
additionalActions = dict->lookupNF("AA");
- appearCharacs = NULL;
+ appearCharacs = nullptr;
obj1 = dict->lookup("MK");
if (obj1.isDict()) {
appearCharacs = new AnnotAppearanceCharacs(obj1.getDict());
@@ -5180,7 +5163,7 @@
LinkAction* AnnotScreen::getAdditionalAction(AdditionalActionsType type)
{
if (type == actionFocusIn || type == actionFocusOut) // not defined for screen annotation
- return NULL;
+ return nullptr;
return ::getAdditionalAction(type, &additionalActions, doc);
}
@@ -5190,8 +5173,6 @@
//------------------------------------------------------------------------
AnnotStamp::AnnotStamp(PDFDoc *docA, PDFRectangle *rect) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeStamp;
annotObj.dictSet ("Subtype", Object(objName, "Stamp"));
initialize(docA, annotObj.getDict());
@@ -5235,8 +5216,6 @@
//------------------------------------------------------------------------
AnnotGeometry::AnnotGeometry(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
switch (subType) {
case typeSquare:
annotObj.dictSet ("Subtype", Object(objName, "Square"));
@@ -5281,7 +5260,7 @@
if (obj1.isArray()) {
interiorColor = new AnnotColor(obj1.getArray());
} else {
- interiorColor = NULL;
+ interiorColor = nullptr;
}
obj1 = dict->lookup("BS");
@@ -5296,10 +5275,10 @@
if (obj1.isDict()) {
borderEffect = new AnnotBorderEffect(obj1.getDict());
} else {
- borderEffect = NULL;
+ borderEffect = nullptr;
}
- geometryRect = NULL;
+ geometryRect = nullptr;
obj1 = dict->lookup("RD");
if (obj1.isArray()) {
geometryRect = parseDiffRectangle(obj1.getArray(), rect);
@@ -5333,7 +5312,7 @@
update ("IC", std::move(obj1));
interiorColor = new_color;
} else {
- interiorColor = NULL;
+ interiorColor = nullptr;
}
invalidateAppearance();
}
@@ -5430,7 +5409,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -5438,7 +5417,7 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
@@ -5447,8 +5426,6 @@
//------------------------------------------------------------------------
AnnotPolygon::AnnotPolygon(PDFDoc *docA, PDFRectangle *rect, AnnotSubtype subType) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
switch (subType) {
case typePolygon:
annotObj.dictSet ("Subtype", Object(objName, "Polygon"));
@@ -5530,7 +5507,7 @@
if (obj1.isArray()) {
interiorColor = new AnnotColor(obj1.getArray());
} else {
- interiorColor = NULL;
+ interiorColor = nullptr;
}
obj1 = dict->lookup("BS");
@@ -5545,7 +5522,7 @@
if (obj1.isDict()) {
borderEffect = new AnnotBorderEffect(obj1.getDict());
} else {
- borderEffect = NULL;
+ borderEffect = nullptr;
}
obj1 = dict->lookup("IT");
@@ -5618,7 +5595,7 @@
update ("IC", std::move(obj1));
interiorColor = new_color;
} else {
- interiorColor = NULL;
+ interiorColor = nullptr;
}
invalidateAppearance();
}
@@ -5692,7 +5669,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -5701,12 +5678,12 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
if (appearBBox) {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
appearBBox->getPageXMin(), appearBBox->getPageYMin(),
appearBBox->getPageXMax(), appearBBox->getPageYMax(),
getRotation());
} else {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
}
@@ -5716,8 +5693,6 @@
//------------------------------------------------------------------------
AnnotCaret::AnnotCaret(PDFDoc *docA, PDFRectangle *rect) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeCaret;
annotObj.dictSet ("Subtype", Object(objName, "Caret"));
@@ -5752,7 +5727,7 @@
if (obj1.isArray()) {
caretRect = parseDiffRectangle(obj1.getArray(), rect);
} else {
- caretRect = NULL;
+ caretRect = nullptr;
}
}
@@ -5767,14 +5742,11 @@
//------------------------------------------------------------------------
AnnotInk::AnnotInk(PDFDoc *docA, PDFRectangle *rect) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeInk;
annotObj.dictSet ("Subtype", Object(objName, "Ink"));
// Store dummy path with one null vertex only
- Object obj3, obj4;
Array *inkList = new Array(doc->getXRef());
Array *vList = new Array(doc->getXRef());
vList->add(Object(0.));
@@ -5803,7 +5775,7 @@
parseInkList(obj1.getArray());
} else {
inkListLength = 0;
- inkList = NULL;
+ inkList = nullptr;
error(errSyntaxError, -1, "Bad Annot Ink List");
ok = gFalse;
}
@@ -5906,7 +5878,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -5915,12 +5887,12 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
if (appearBBox) {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
appearBBox->getPageXMin(), appearBBox->getPageYMin(),
appearBBox->getPageXMax(), appearBBox->getPageYMax(),
getRotation());
} else {
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
}
@@ -5930,8 +5902,6 @@
//------------------------------------------------------------------------
AnnotFileAttachment::AnnotFileAttachment(PDFDoc *docA, PDFRectangle *rect, GooString *filename) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeFileAttachment;
annotObj.dictSet("Subtype", Object(objName, "FileAttachment"));
@@ -6118,7 +6088,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -6126,7 +6096,7 @@
// draw the appearance stream
Object obj = appearance.fetch(gfx->getXRef());
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
@@ -6135,8 +6105,6 @@
//------------------------------------------------------------------------
AnnotSound::AnnotSound(PDFDoc *docA, PDFRectangle *rect, Sound *soundA) :
AnnotMarkup(docA, rect) {
- Object obj1;
-
type = typeSound;
annotObj.dictSet ("Subtype", Object(objName, "Sound"));
@@ -6271,7 +6239,7 @@
delete appearBuf;
appearBuf = new GooString ("/GS0 gs\n/Fm0 Do");
- Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, NULL);
+ Dict *resDict = createResourcesDict("Fm0", std::move(aStream), "GS0", ca, nullptr);
appearance = createForm(bbox, gFalse, resDict);
}
delete appearBuf;
@@ -6279,7 +6247,7 @@
// draw the appearance stream
obj = appearance.fetch(gfx->getXRef());
- gfx->drawAnnot(&obj, (AnnotBorder *)NULL, color,
+ gfx->drawAnnot(&obj, (AnnotBorder *)nullptr, color,
rect->x1, rect->y1, rect->x2, rect->y2, getRotation());
}
@@ -6288,8 +6256,6 @@
//------------------------------------------------------------------------
Annot3D::Annot3D(PDFDoc *docA, PDFRectangle *rect) :
Annot(docA, rect) {
- Object obj1;
-
type = type3D;
annotObj.dictSet ("Subtype", Object(objName, "3D"));
@@ -6313,7 +6279,7 @@
if (obj1.isDict()) {
activation = new Activation(obj1.getDict());
} else {
- activation = NULL;
+ activation = nullptr;
}
}
@@ -6406,8 +6372,6 @@
//------------------------------------------------------------------------
AnnotRichMedia::AnnotRichMedia(PDFDoc *docA, PDFRectangle *rect) :
Annot(docA, rect) {
- Object obj1;
-
type = typeRichMedia;
annotObj.dictSet ("Subtype", Object(objName, "RichMedia"));
@@ -6431,7 +6395,7 @@
if (obj1.isDict()) {
content = new AnnotRichMedia::Content(obj1.getDict());
} else {
- content = NULL;
+ content = nullptr;
}
obj1 = dict->lookup("RichMediaSettings");
@@ -6438,7 +6402,7 @@
if (obj1.isDict()) {
settings = new AnnotRichMedia::Settings(obj1.getDict());
} else {
- settings = NULL;
+ settings = nullptr;
}
}
@@ -6455,7 +6419,7 @@
if (obj1.isDict()) {
activation = new AnnotRichMedia::Activation(obj1.getDict());
} else {
- activation = NULL;
+ activation = nullptr;
}
obj1 = dict->lookup("Deactivation");
@@ -6462,7 +6426,7 @@
if (obj1.isDict()) {
deactivation = new AnnotRichMedia::Deactivation(obj1.getDict());
} else {
- deactivation = NULL;
+ deactivation = nullptr;
}
}
@@ -6537,16 +6501,16 @@
if (obj2.isDict()) {
configurations[i] = new AnnotRichMedia::Configuration(obj2.getDict());
} else {
- configurations[i] = NULL;
+ configurations[i] = nullptr;
}
}
} else {
nConfigurations = 0;
- configurations = NULL;
+ configurations = nullptr;
}
nAssets = 0;
- assets = NULL;
+ assets = nullptr;
obj1 = dict->lookup("Assets");
if (obj1.isDict()) {
Object obj2 = obj1.getDict()->lookup("Names");
@@ -6590,7 +6554,7 @@
AnnotRichMedia::Configuration* AnnotRichMedia::Content::getConfiguration(int index) const {
if (index < 0 || index >= nConfigurations)
- return NULL;
+ return nullptr;
return configurations[index];
}
@@ -6601,13 +6565,13 @@
AnnotRichMedia::Asset* AnnotRichMedia::Content::getAsset(int index) const {
if (index < 0 || index >= nAssets)
- return NULL;
+ return nullptr;
return assets[index];
}
AnnotRichMedia::Asset::Asset()
- : name(NULL)
+ : name(nullptr)
{
}
@@ -6637,11 +6601,11 @@
if (obj2.isDict()) {
instances[i] = new AnnotRichMedia::Instance(obj2.getDict());
} else {
- instances[i] = NULL;
+ instances[i] = nullptr;
}
}
} else {
- instances = NULL;
+ instances = nullptr;
}
obj1 = dict->lookup("Name");
@@ -6648,7 +6612,7 @@
if (obj1.isString()) {
name = new GooString(obj1.getString());
} else {
- name = NULL;
+ name = nullptr;
}
obj1 = dict->lookup("Subtype");
@@ -6710,7 +6674,7 @@
AnnotRichMedia::Instance* AnnotRichMedia::Configuration::getInstance(int index) const {
if (index < 0 || index >= nInstances)
- return NULL;
+ return nullptr;
return instances[index];
}
@@ -6744,7 +6708,7 @@
if (obj1.isDict()) {
params = new AnnotRichMedia::Params(obj1.getDict());
} else {
- params = NULL;
+ params = nullptr;
}
}
@@ -6767,7 +6731,7 @@
if (obj1.isString()) {
flashVars = new GooString(obj1.getString());
} else {
- flashVars = NULL;
+ flashVars = nullptr;
}
}
@@ -6789,7 +6753,7 @@
int i;
doc = docA;
- annots = NULL;
+ annots = nullptr;
size = 0;
nAnnots = 0;
@@ -6920,7 +6884,7 @@
if (obj2.isNull())
annot = new AnnotPopup(doc, dictObject, obj);
else
- annot = NULL;
+ annot = nullptr;
} else {
annot = new Annot(doc, dictObject, obj);
}
@@ -6937,7 +6901,7 @@
return annots[i];
}
}
- return NULL;
+ return nullptr;
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Annot.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -21,7 +21,7 @@
// Copyright (C) 2008 Hugo Mercier <hmercier31 at gmail.com>
// Copyright (C) 2008 Pino Toscano <pino at kde.org>
// Copyright (C) 2008 Tomas Are Haavet <tomasare at gmail.com>
-// Copyright (C) 2009-2011, 2013, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2011, 2013, 2016-2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso at hotmail.it>
// Copyright (C) 2012, 2015 Tobias Koenig <tokoe at kdab.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -105,6 +105,9 @@
AnnotPath(AnnotCoord **coords, int coordLength);
~AnnotPath();
+ AnnotPath(const AnnotPath &) = delete;
+ AnnotPath& operator=(const AnnotPath &other) = delete;
+
double getX(int coord) const;
double getY(int coord) const;
AnnotCoord *getCoord(int coord) const;
@@ -126,6 +129,9 @@
AnnotCalloutLine(double x1, double y1, double x2, double y2);
virtual ~AnnotCalloutLine() { }
+ AnnotCalloutLine(const AnnotCalloutLine &) = delete;
+ AnnotCalloutLine& operator=(const AnnotCalloutLine &other) = delete;
+
double getX1() const { return coord1.getX(); }
double getY1() const { return coord1.getY(); }
double getX2() const { return coord2.getX(); }
@@ -195,6 +201,9 @@
AnnotQuadrilaterals(AnnotQuadrilateral **quads, int quadsLength);
~AnnotQuadrilaterals();
+ AnnotQuadrilaterals(const AnnotQuadrilaterals &) = delete;
+ AnnotQuadrilaterals& operator=(const AnnotQuadrilaterals &other) = delete;
+
double getX1(int quadrilateral);
double getY1(int quadrilateral);
double getX2(int quadrilateral);
@@ -231,6 +240,9 @@
virtual ~AnnotBorder();
+ AnnotBorder(const AnnotBorder &) = delete;
+ AnnotBorder& operator=(const AnnotBorder &other) = delete;
+
virtual void setWidth(double new_width) { width = new_width; }
virtual AnnotBorderType getType() const = 0;
@@ -429,6 +441,9 @@
AnnotAppearanceCharacs(Dict *dict);
~AnnotAppearanceCharacs();
+ AnnotAppearanceCharacs(const AnnotAppearanceCharacs &) = delete;
+ AnnotAppearanceCharacs& operator=(const AnnotAppearanceCharacs &) = delete;
+
int getRotation() { return rotation; }
AnnotColor *getBorderColor() { return borderColor; }
AnnotColor *getBackColor() { return backColor; }
@@ -1420,6 +1435,9 @@
Params(Dict *dict);
~Params();
+ Params(const Params &) = delete;
+ Params& operator=(const Params &) = delete;
+
GooString* getFlashVars() const;
private:
@@ -1439,6 +1457,9 @@
Instance(Dict *dict);
~Instance();
+ Instance(const Instance &) = delete;
+ Instance& operator=(const Instance &) = delete;
+
Type getType() const;
Params* getParams() const;
@@ -1460,6 +1481,9 @@
Configuration(Dict *dict);
~Configuration();
+ Configuration(const Configuration &) = delete;
+ Configuration& operator=(const Configuration &) = delete;
+
Type getType() const;
GooString* getName() const;
int getInstancesCount() const;
@@ -1480,6 +1504,9 @@
Asset();
~Asset();
+ Asset(const Asset &) = delete;
+ Asset& operator=(const Asset &) = delete;
+
GooString* getName() const;
Object* getFileSpec() const;
@@ -1495,6 +1522,9 @@
Content(Dict *dict);
~Content();
+ Content(const Content &) = delete;
+ Content& operator=(const Content &) = delete;
+
int getConfigurationsCount() const;
Configuration* getConfiguration(int index) const;
@@ -1549,6 +1579,9 @@
Settings(Dict *dict);
~Settings();
+ Settings(const Settings &) = delete;
+ Settings& operator=(const Settings &) = delete;
+
Activation* getActivation() const;
Deactivation* getDeactivation() const;
@@ -1589,6 +1622,9 @@
~Annots();
+ Annots(const Annots &) = delete;
+ Annots& operator=(const Annots &) = delete;
+
// Iterate through list of annotations.
int getNumAnnots() { return nAnnots; }
Annot *getAnnot(int i) { return annots[i]; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Array.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Array.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Array.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -47,7 +47,7 @@
Array::Array(XRef *xrefA) {
xref = xrefA;
- elems = NULL;
+ elems = nullptr;
size = length = 0;
ref = 1;
#ifdef MULTITHREADED
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Array.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Array.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Array.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -16,7 +16,7 @@
// Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
-// Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
//
// To see a description of the changes please see the Changelog file that
@@ -50,6 +50,9 @@
// Destructor.
~Array();
+ Array(const Array &) = delete;
+ Array& operator=(const Array &) = delete;
+
// Get number of elements.
int getLength() const { return length; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -26,7 +26,7 @@
size = sizeA;
tab = (BuiltinFontWidth **)gmallocn(size, sizeof(BuiltinFontWidth *));
for (i = 0; i < size; ++i) {
- tab[i] = NULL;
+ tab[i] = nullptr;
}
for (i = 0; i < sizeA; ++i) {
h = hash(widths[i].name);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFont.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,6 +6,20 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef BUILTINFONT_H
#define BUILTINFONT_H
@@ -42,6 +56,10 @@
BuiltinFontWidths(BuiltinFontWidth *widths, int sizeA);
~BuiltinFontWidths();
+
+ BuiltinFontWidths(const BuiltinFontWidths &) = delete;
+ BuiltinFontWidths& operator=(const BuiltinFontWidths &) = delete;
+
GBool getWidth(const char *name, Gushort *width);
private:
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFontTables.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFontTables.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/BuiltinFontTables.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -12,4235 +12,4235 @@
#include "BuiltinFontTables.h"
static BuiltinFontWidth courierWidthsTab[] = {
- { "Ntilde", 600, NULL },
- { "rcaron", 600, NULL },
- { "kcommaaccent", 600, NULL },
- { "Ncommaaccent", 600, NULL },
- { "Zacute", 600, NULL },
- { "comma", 600, NULL },
- { "cedilla", 600, NULL },
- { "plusminus", 600, NULL },
- { "circumflex", 600, NULL },
- { "dotaccent", 600, NULL },
- { "edotaccent", 600, NULL },
- { "asciitilde", 600, NULL },
- { "colon", 600, NULL },
- { "onehalf", 600, NULL },
- { "dollar", 600, NULL },
- { "Lcaron", 600, NULL },
- { "ntilde", 600, NULL },
- { "Aogonek", 600, NULL },
- { "ncommaaccent", 600, NULL },
- { "minus", 600, NULL },
- { "Iogonek", 600, NULL },
- { "zacute", 600, NULL },
- { "yen", 600, NULL },
- { "space", 600, NULL },
- { "Omacron", 600, NULL },
- { "questiondown", 600, NULL },
- { "emdash", 600, NULL },
- { "Agrave", 600, NULL },
- { "three", 600, NULL },
- { "numbersign", 600, NULL },
- { "lcaron", 600, NULL },
- { "A", 600, NULL },
- { "B", 600, NULL },
- { "C", 600, NULL },
- { "aogonek", 600, NULL },
- { "D", 600, NULL },
- { "E", 600, NULL },
- { "onequarter", 600, NULL },
- { "F", 600, NULL },
- { "G", 600, NULL },
- { "H", 600, NULL },
- { "I", 600, NULL },
- { "J", 600, NULL },
- { "K", 600, NULL },
- { "iogonek", 600, NULL },
- { "L", 600, NULL },
- { "backslash", 600, NULL },
- { "periodcentered", 600, NULL },
- { "M", 600, NULL },
- { "N", 600, NULL },
- { "omacron", 600, NULL },
- { "Tcommaaccent", 600, NULL },
- { "O", 600, NULL },
- { "P", 600, NULL },
- { "Q", 600, NULL },
- { "Uhungarumlaut", 600, NULL },
- { "R", 600, NULL },
- { "Aacute", 600, NULL },
- { "caron", 600, NULL },
- { "S", 600, NULL },
- { "T", 600, NULL },
- { "U", 600, NULL },
- { "agrave", 600, NULL },
- { "V", 600, NULL },
- { "W", 600, NULL },
- { "equal", 600, NULL },
- { "question", 600, NULL },
- { "X", 600, NULL },
- { "Y", 600, NULL },
- { "Z", 600, NULL },
- { "four", 600, NULL },
- { "a", 600, NULL },
- { "Gcommaaccent", 600, NULL },
- { "b", 600, NULL },
- { "c", 600, NULL },
- { "d", 600, NULL },
- { "e", 600, NULL },
- { "f", 600, NULL },
- { "g", 600, NULL },
- { "bullet", 600, NULL },
- { "h", 600, NULL },
- { "i", 600, NULL },
- { "Oslash", 600, NULL },
- { "dagger", 600, NULL },
- { "j", 600, NULL },
- { "k", 600, NULL },
- { "l", 600, NULL },
- { "m", 600, NULL },
- { "n", 600, NULL },
- { "tcommaaccent", 600, NULL },
- { "o", 600, NULL },
- { "ordfeminine", 600, NULL },
- { "ring", 600, NULL },
- { "p", 600, NULL },
- { "q", 600, NULL },
- { "uhungarumlaut", 600, NULL },
- { "r", 600, NULL },
- { "twosuperior", 600, NULL },
- { "aacute", 600, NULL },
- { "s", 600, NULL },
- { "OE", 600, NULL },
- { "t", 600, NULL },
- { "divide", 600, NULL },
- { "u", 600, NULL },
- { "Ccaron", 600, NULL },
- { "v", 600, NULL },
- { "w", 600, NULL },
- { "x", 600, NULL },
- { "y", 600, NULL },
- { "z", 600, NULL },
- { "Gbreve", 600, NULL },
- { "commaaccent", 600, NULL },
- { "hungarumlaut", 600, NULL },
- { "Idotaccent", 600, NULL },
- { "Nacute", 600, NULL },
- { "quotedbl", 600, NULL },
- { "gcommaaccent", 600, NULL },
- { "mu", 600, NULL },
- { "greaterequal", 600, NULL },
- { "Scaron", 600, NULL },
- { "Lslash", 600, NULL },
- { "semicolon", 600, NULL },
- { "oslash", 600, NULL },
- { "lessequal", 600, NULL },
- { "lozenge", 600, NULL },
- { "parenright", 600, NULL },
- { "ccaron", 600, NULL },
- { "Ecircumflex", 600, NULL },
- { "gbreve", 600, NULL },
- { "trademark", 600, NULL },
- { "daggerdbl", 600, NULL },
- { "nacute", 600, NULL },
- { "macron", 600, NULL },
- { "Otilde", 600, NULL },
- { "Emacron", 600, NULL },
- { "ellipsis", 600, NULL },
- { "scaron", 600, NULL },
- { "AE", 600, NULL },
- { "Ucircumflex", 600, NULL },
- { "lslash", 600, NULL },
- { "quotedblleft", 600, NULL },
- { "hyphen", 600, NULL },
- { "guilsinglright", 600, NULL },
- { "quotesingle", 600, NULL },
- { "eight", 600, NULL },
- { "exclamdown", 600, NULL },
- { "endash", 600, NULL },
- { "oe", 600, NULL },
- { "Abreve", 600, NULL },
- { "Umacron", 600, NULL },
- { "ecircumflex", 600, NULL },
- { "Adieresis", 600, NULL },
- { "copyright", 600, NULL },
- { "Egrave", 600, NULL },
- { "slash", 600, NULL },
- { "Edieresis", 600, NULL },
- { "otilde", 600, NULL },
- { "Idieresis", 600, NULL },
- { "parenleft", 600, NULL },
- { "one", 600, NULL },
- { "emacron", 600, NULL },
- { "Odieresis", 600, NULL },
- { "ucircumflex", 600, NULL },
- { "bracketleft", 600, NULL },
- { "Ugrave", 600, NULL },
- { "quoteright", 600, NULL },
- { "Udieresis", 600, NULL },
- { "perthousand", 600, NULL },
- { "Ydieresis", 600, NULL },
- { "umacron", 600, NULL },
- { "abreve", 600, NULL },
- { "Eacute", 600, NULL },
- { "adieresis", 600, NULL },
- { "egrave", 600, NULL },
- { "edieresis", 600, NULL },
- { "idieresis", 600, NULL },
- { "Eth", 600, NULL },
- { "ae", 600, NULL },
- { "asterisk", 600, NULL },
- { "odieresis", 600, NULL },
- { "Uacute", 600, NULL },
- { "ugrave", 600, NULL },
- { "five", 600, NULL },
- { "nine", 600, NULL },
- { "udieresis", 600, NULL },
- { "Zcaron", 600, NULL },
- { "Scommaaccent", 600, NULL },
- { "threequarters", 600, NULL },
- { "guillemotright", 600, NULL },
- { "Ccedilla", 600, NULL },
- { "ydieresis", 600, NULL },
- { "tilde", 600, NULL },
- { "at", 600, NULL },
- { "eacute", 600, NULL },
- { "underscore", 600, NULL },
- { "Euro", 600, NULL },
- { "Dcroat", 600, NULL },
- { "zero", 600, NULL },
- { "multiply", 600, NULL },
- { "eth", 600, NULL },
- { "Scedilla", 600, NULL },
- { "Racute", 600, NULL },
- { "Ograve", 600, NULL },
- { "partialdiff", 600, NULL },
- { "uacute", 600, NULL },
- { "braceleft", 600, NULL },
- { "Thorn", 600, NULL },
- { "zcaron", 600, NULL },
- { "scommaaccent", 600, NULL },
- { "ccedilla", 600, NULL },
- { "Dcaron", 600, NULL },
- { "dcroat", 600, NULL },
- { "scedilla", 600, NULL },
- { "Oacute", 600, NULL },
- { "Ocircumflex", 600, NULL },
- { "ogonek", 600, NULL },
- { "ograve", 600, NULL },
- { "racute", 600, NULL },
- { "Tcaron", 600, NULL },
- { "Eogonek", 600, NULL },
- { "thorn", 600, NULL },
- { "degree", 600, NULL },
- { "registered", 600, NULL },
- { "radical", 600, NULL },
- { "Aring", 600, NULL },
- { "percent", 600, NULL },
- { "six", 600, NULL },
- { "paragraph", 600, NULL },
- { "dcaron", 600, NULL },
- { "Uogonek", 600, NULL },
- { "two", 600, NULL },
- { "summation", 600, NULL },
- { "Igrave", 600, NULL },
- { "Lacute", 600, NULL },
- { "ocircumflex", 600, NULL },
- { "oacute", 600, NULL },
- { "Uring", 600, NULL },
- { "Lcommaaccent", 600, NULL },
- { "tcaron", 600, NULL },
- { "eogonek", 600, NULL },
- { "Delta", 600, NULL },
- { "Ohungarumlaut", 600, NULL },
- { "asciicircum", 600, NULL },
- { "aring", 600, NULL },
- { "grave", 600, NULL },
- { "uogonek", 600, NULL },
- { "bracketright", 600, NULL },
- { "ampersand", 600, NULL },
- { "Iacute", 600, NULL },
- { "lacute", 600, NULL },
- { "igrave", 600, NULL },
- { "Ncaron", 600, NULL },
- { "plus", 600, NULL },
- { "uring", 600, NULL },
- { "quotesinglbase", 600, NULL },
- { "lcommaaccent", 600, NULL },
- { "Yacute", 600, NULL },
- { "ohungarumlaut", 600, NULL },
- { "threesuperior", 600, NULL },
- { "acute", 600, NULL },
- { "section", 600, NULL },
- { "dieresis", 600, NULL },
- { "quotedblbase", 600, NULL },
- { "iacute", 600, NULL },
- { "ncaron", 600, NULL },
- { "florin", 600, NULL },
- { "yacute", 600, NULL },
- { "Rcommaaccent", 600, NULL },
- { "fi", 600, NULL },
- { "fl", 600, NULL },
- { "Acircumflex", 600, NULL },
- { "Cacute", 600, NULL },
- { "Icircumflex", 600, NULL },
- { "guillemotleft", 600, NULL },
- { "germandbls", 600, NULL },
- { "seven", 600, NULL },
- { "Amacron", 600, NULL },
- { "Sacute", 600, NULL },
- { "ordmasculine", 600, NULL },
- { "dotlessi", 600, NULL },
- { "sterling", 600, NULL },
- { "notequal", 600, NULL },
- { "Imacron", 600, NULL },
- { "rcommaaccent", 600, NULL },
- { "Zdotaccent", 600, NULL },
- { "acircumflex", 600, NULL },
- { "cacute", 600, NULL },
- { "Ecaron", 600, NULL },
- { "braceright", 600, NULL },
- { "icircumflex", 600, NULL },
- { "quotedblright", 600, NULL },
- { "amacron", 600, NULL },
- { "sacute", 600, NULL },
- { "imacron", 600, NULL },
- { "cent", 600, NULL },
- { "currency", 600, NULL },
- { "logicalnot", 600, NULL },
- { "zdotaccent", 600, NULL },
- { "Atilde", 600, NULL },
- { "breve", 600, NULL },
- { "bar", 600, NULL },
- { "fraction", 600, NULL },
- { "less", 600, NULL },
- { "ecaron", 600, NULL },
- { "guilsinglleft", 600, NULL },
- { "exclam", 600, NULL },
- { "period", 600, NULL },
- { "Rcaron", 600, NULL },
- { "Kcommaaccent", 600, NULL },
- { "greater", 600, NULL },
- { "atilde", 600, NULL },
- { "brokenbar", 600, NULL },
- { "quoteleft", 600, NULL },
- { "Edotaccent", 600, NULL },
- { "onesuperior", 600, NULL }
+ { "Ntilde", 600, nullptr },
+ { "rcaron", 600, nullptr },
+ { "kcommaaccent", 600, nullptr },
+ { "Ncommaaccent", 600, nullptr },
+ { "Zacute", 600, nullptr },
+ { "comma", 600, nullptr },
+ { "cedilla", 600, nullptr },
+ { "plusminus", 600, nullptr },
+ { "circumflex", 600, nullptr },
+ { "dotaccent", 600, nullptr },
+ { "edotaccent", 600, nullptr },
+ { "asciitilde", 600, nullptr },
+ { "colon", 600, nullptr },
+ { "onehalf", 600, nullptr },
+ { "dollar", 600, nullptr },
+ { "Lcaron", 600, nullptr },
+ { "ntilde", 600, nullptr },
+ { "Aogonek", 600, nullptr },
+ { "ncommaaccent", 600, nullptr },
+ { "minus", 600, nullptr },
+ { "Iogonek", 600, nullptr },
+ { "zacute", 600, nullptr },
+ { "yen", 600, nullptr },
+ { "space", 600, nullptr },
+ { "Omacron", 600, nullptr },
+ { "questiondown", 600, nullptr },
+ { "emdash", 600, nullptr },
+ { "Agrave", 600, nullptr },
+ { "three", 600, nullptr },
+ { "numbersign", 600, nullptr },
+ { "lcaron", 600, nullptr },
+ { "A", 600, nullptr },
+ { "B", 600, nullptr },
+ { "C", 600, nullptr },
+ { "aogonek", 600, nullptr },
+ { "D", 600, nullptr },
+ { "E", 600, nullptr },
+ { "onequarter", 600, nullptr },
+ { "F", 600, nullptr },
+ { "G", 600, nullptr },
+ { "H", 600, nullptr },
+ { "I", 600, nullptr },
+ { "J", 600, nullptr },
+ { "K", 600, nullptr },
+ { "iogonek", 600, nullptr },
+ { "L", 600, nullptr },
+ { "backslash", 600, nullptr },
+ { "periodcentered", 600, nullptr },
+ { "M", 600, nullptr },
+ { "N", 600, nullptr },
+ { "omacron", 600, nullptr },
+ { "Tcommaaccent", 600, nullptr },
+ { "O", 600, nullptr },
+ { "P", 600, nullptr },
+ { "Q", 600, nullptr },
+ { "Uhungarumlaut", 600, nullptr },
+ { "R", 600, nullptr },
+ { "Aacute", 600, nullptr },
+ { "caron", 600, nullptr },
+ { "S", 600, nullptr },
+ { "T", 600, nullptr },
+ { "U", 600, nullptr },
+ { "agrave", 600, nullptr },
+ { "V", 600, nullptr },
+ { "W", 600, nullptr },
+ { "equal", 600, nullptr },
+ { "question", 600, nullptr },
+ { "X", 600, nullptr },
+ { "Y", 600, nullptr },
+ { "Z", 600, nullptr },
+ { "four", 600, nullptr },
+ { "a", 600, nullptr },
+ { "Gcommaaccent", 600, nullptr },
+ { "b", 600, nullptr },
+ { "c", 600, nullptr },
+ { "d", 600, nullptr },
+ { "e", 600, nullptr },
+ { "f", 600, nullptr },
+ { "g", 600, nullptr },
+ { "bullet", 600, nullptr },
+ { "h", 600, nullptr },
+ { "i", 600, nullptr },
+ { "Oslash", 600, nullptr },
+ { "dagger", 600, nullptr },
+ { "j", 600, nullptr },
+ { "k", 600, nullptr },
+ { "l", 600, nullptr },
+ { "m", 600, nullptr },
+ { "n", 600, nullptr },
+ { "tcommaaccent", 600, nullptr },
+ { "o", 600, nullptr },
+ { "ordfeminine", 600, nullptr },
+ { "ring", 600, nullptr },
+ { "p", 600, nullptr },
+ { "q", 600, nullptr },
+ { "uhungarumlaut", 600, nullptr },
+ { "r", 600, nullptr },
+ { "twosuperior", 600, nullptr },
+ { "aacute", 600, nullptr },
+ { "s", 600, nullptr },
+ { "OE", 600, nullptr },
+ { "t", 600, nullptr },
+ { "divide", 600, nullptr },
+ { "u", 600, nullptr },
+ { "Ccaron", 600, nullptr },
+ { "v", 600, nullptr },
+ { "w", 600, nullptr },
+ { "x", 600, nullptr },
+ { "y", 600, nullptr },
+ { "z", 600, nullptr },
+ { "Gbreve", 600, nullptr },
+ { "commaaccent", 600, nullptr },
+ { "hungarumlaut", 600, nullptr },
+ { "Idotaccent", 600, nullptr },
+ { "Nacute", 600, nullptr },
+ { "quotedbl", 600, nullptr },
+ { "gcommaaccent", 600, nullptr },
+ { "mu", 600, nullptr },
+ { "greaterequal", 600, nullptr },
+ { "Scaron", 600, nullptr },
+ { "Lslash", 600, nullptr },
+ { "semicolon", 600, nullptr },
+ { "oslash", 600, nullptr },
+ { "lessequal", 600, nullptr },
+ { "lozenge", 600, nullptr },
+ { "parenright", 600, nullptr },
+ { "ccaron", 600, nullptr },
+ { "Ecircumflex", 600, nullptr },
+ { "gbreve", 600, nullptr },
+ { "trademark", 600, nullptr },
+ { "daggerdbl", 600, nullptr },
+ { "nacute", 600, nullptr },
+ { "macron", 600, nullptr },
+ { "Otilde", 600, nullptr },
+ { "Emacron", 600, nullptr },
+ { "ellipsis", 600, nullptr },
+ { "scaron", 600, nullptr },
+ { "AE", 600, nullptr },
+ { "Ucircumflex", 600, nullptr },
+ { "lslash", 600, nullptr },
+ { "quotedblleft", 600, nullptr },
+ { "hyphen", 600, nullptr },
+ { "guilsinglright", 600, nullptr },
+ { "quotesingle", 600, nullptr },
+ { "eight", 600, nullptr },
+ { "exclamdown", 600, nullptr },
+ { "endash", 600, nullptr },
+ { "oe", 600, nullptr },
+ { "Abreve", 600, nullptr },
+ { "Umacron", 600, nullptr },
+ { "ecircumflex", 600, nullptr },
+ { "Adieresis", 600, nullptr },
+ { "copyright", 600, nullptr },
+ { "Egrave", 600, nullptr },
+ { "slash", 600, nullptr },
+ { "Edieresis", 600, nullptr },
+ { "otilde", 600, nullptr },
+ { "Idieresis", 600, nullptr },
+ { "parenleft", 600, nullptr },
+ { "one", 600, nullptr },
+ { "emacron", 600, nullptr },
+ { "Odieresis", 600, nullptr },
+ { "ucircumflex", 600, nullptr },
+ { "bracketleft", 600, nullptr },
+ { "Ugrave", 600, nullptr },
+ { "quoteright", 600, nullptr },
+ { "Udieresis", 600, nullptr },
+ { "perthousand", 600, nullptr },
+ { "Ydieresis", 600, nullptr },
+ { "umacron", 600, nullptr },
+ { "abreve", 600, nullptr },
+ { "Eacute", 600, nullptr },
+ { "adieresis", 600, nullptr },
+ { "egrave", 600, nullptr },
+ { "edieresis", 600, nullptr },
+ { "idieresis", 600, nullptr },
+ { "Eth", 600, nullptr },
+ { "ae", 600, nullptr },
+ { "asterisk", 600, nullptr },
+ { "odieresis", 600, nullptr },
+ { "Uacute", 600, nullptr },
+ { "ugrave", 600, nullptr },
+ { "five", 600, nullptr },
+ { "nine", 600, nullptr },
+ { "udieresis", 600, nullptr },
+ { "Zcaron", 600, nullptr },
+ { "Scommaaccent", 600, nullptr },
+ { "threequarters", 600, nullptr },
+ { "guillemotright", 600, nullptr },
+ { "Ccedilla", 600, nullptr },
+ { "ydieresis", 600, nullptr },
+ { "tilde", 600, nullptr },
+ { "at", 600, nullptr },
+ { "eacute", 600, nullptr },
+ { "underscore", 600, nullptr },
+ { "Euro", 600, nullptr },
+ { "Dcroat", 600, nullptr },
+ { "zero", 600, nullptr },
+ { "multiply", 600, nullptr },
+ { "eth", 600, nullptr },
+ { "Scedilla", 600, nullptr },
+ { "Racute", 600, nullptr },
+ { "Ograve", 600, nullptr },
+ { "partialdiff", 600, nullptr },
+ { "uacute", 600, nullptr },
+ { "braceleft", 600, nullptr },
+ { "Thorn", 600, nullptr },
+ { "zcaron", 600, nullptr },
+ { "scommaaccent", 600, nullptr },
+ { "ccedilla", 600, nullptr },
+ { "Dcaron", 600, nullptr },
+ { "dcroat", 600, nullptr },
+ { "scedilla", 600, nullptr },
+ { "Oacute", 600, nullptr },
+ { "Ocircumflex", 600, nullptr },
+ { "ogonek", 600, nullptr },
+ { "ograve", 600, nullptr },
+ { "racute", 600, nullptr },
+ { "Tcaron", 600, nullptr },
+ { "Eogonek", 600, nullptr },
+ { "thorn", 600, nullptr },
+ { "degree", 600, nullptr },
+ { "registered", 600, nullptr },
+ { "radical", 600, nullptr },
+ { "Aring", 600, nullptr },
+ { "percent", 600, nullptr },
+ { "six", 600, nullptr },
+ { "paragraph", 600, nullptr },
+ { "dcaron", 600, nullptr },
+ { "Uogonek", 600, nullptr },
+ { "two", 600, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 600, nullptr },
+ { "Lacute", 600, nullptr },
+ { "ocircumflex", 600, nullptr },
+ { "oacute", 600, nullptr },
+ { "Uring", 600, nullptr },
+ { "Lcommaaccent", 600, nullptr },
+ { "tcaron", 600, nullptr },
+ { "eogonek", 600, nullptr },
+ { "Delta", 600, nullptr },
+ { "Ohungarumlaut", 600, nullptr },
+ { "asciicircum", 600, nullptr },
+ { "aring", 600, nullptr },
+ { "grave", 600, nullptr },
+ { "uogonek", 600, nullptr },
+ { "bracketright", 600, nullptr },
+ { "ampersand", 600, nullptr },
+ { "Iacute", 600, nullptr },
+ { "lacute", 600, nullptr },
+ { "igrave", 600, nullptr },
+ { "Ncaron", 600, nullptr },
+ { "plus", 600, nullptr },
+ { "uring", 600, nullptr },
+ { "quotesinglbase", 600, nullptr },
+ { "lcommaaccent", 600, nullptr },
+ { "Yacute", 600, nullptr },
+ { "ohungarumlaut", 600, nullptr },
+ { "threesuperior", 600, nullptr },
+ { "acute", 600, nullptr },
+ { "section", 600, nullptr },
+ { "dieresis", 600, nullptr },
+ { "quotedblbase", 600, nullptr },
+ { "iacute", 600, nullptr },
+ { "ncaron", 600, nullptr },
+ { "florin", 600, nullptr },
+ { "yacute", 600, nullptr },
+ { "Rcommaaccent", 600, nullptr },
+ { "fi", 600, nullptr },
+ { "fl", 600, nullptr },
+ { "Acircumflex", 600, nullptr },
+ { "Cacute", 600, nullptr },
+ { "Icircumflex", 600, nullptr },
+ { "guillemotleft", 600, nullptr },
+ { "germandbls", 600, nullptr },
+ { "seven", 600, nullptr },
+ { "Amacron", 600, nullptr },
+ { "Sacute", 600, nullptr },
+ { "ordmasculine", 600, nullptr },
+ { "dotlessi", 600, nullptr },
+ { "sterling", 600, nullptr },
+ { "notequal", 600, nullptr },
+ { "Imacron", 600, nullptr },
+ { "rcommaaccent", 600, nullptr },
+ { "Zdotaccent", 600, nullptr },
+ { "acircumflex", 600, nullptr },
+ { "cacute", 600, nullptr },
+ { "Ecaron", 600, nullptr },
+ { "braceright", 600, nullptr },
+ { "icircumflex", 600, nullptr },
+ { "quotedblright", 600, nullptr },
+ { "amacron", 600, nullptr },
+ { "sacute", 600, nullptr },
+ { "imacron", 600, nullptr },
+ { "cent", 600, nullptr },
+ { "currency", 600, nullptr },
+ { "logicalnot", 600, nullptr },
+ { "zdotaccent", 600, nullptr },
+ { "Atilde", 600, nullptr },
+ { "breve", 600, nullptr },
+ { "bar", 600, nullptr },
+ { "fraction", 600, nullptr },
+ { "less", 600, nullptr },
+ { "ecaron", 600, nullptr },
+ { "guilsinglleft", 600, nullptr },
+ { "exclam", 600, nullptr },
+ { "period", 600, nullptr },
+ { "Rcaron", 600, nullptr },
+ { "Kcommaaccent", 600, nullptr },
+ { "greater", 600, nullptr },
+ { "atilde", 600, nullptr },
+ { "brokenbar", 600, nullptr },
+ { "quoteleft", 600, nullptr },
+ { "Edotaccent", 600, nullptr },
+ { "onesuperior", 600, nullptr }
};
static BuiltinFontWidth courierBoldWidthsTab[] = {
- { "Ntilde", 600, NULL },
- { "rcaron", 600, NULL },
- { "kcommaaccent", 600, NULL },
- { "Ncommaaccent", 600, NULL },
- { "Zacute", 600, NULL },
- { "comma", 600, NULL },
- { "cedilla", 600, NULL },
- { "plusminus", 600, NULL },
- { "circumflex", 600, NULL },
- { "dotaccent", 600, NULL },
- { "edotaccent", 600, NULL },
- { "asciitilde", 600, NULL },
- { "colon", 600, NULL },
- { "onehalf", 600, NULL },
- { "dollar", 600, NULL },
- { "Lcaron", 600, NULL },
- { "ntilde", 600, NULL },
- { "Aogonek", 600, NULL },
- { "ncommaaccent", 600, NULL },
- { "minus", 600, NULL },
- { "Iogonek", 600, NULL },
- { "zacute", 600, NULL },
- { "yen", 600, NULL },
- { "space", 600, NULL },
- { "Omacron", 600, NULL },
- { "questiondown", 600, NULL },
- { "emdash", 600, NULL },
- { "Agrave", 600, NULL },
- { "three", 600, NULL },
- { "numbersign", 600, NULL },
- { "lcaron", 600, NULL },
- { "A", 600, NULL },
- { "B", 600, NULL },
- { "C", 600, NULL },
- { "aogonek", 600, NULL },
- { "D", 600, NULL },
- { "E", 600, NULL },
- { "onequarter", 600, NULL },
- { "F", 600, NULL },
- { "G", 600, NULL },
- { "H", 600, NULL },
- { "I", 600, NULL },
- { "J", 600, NULL },
- { "K", 600, NULL },
- { "iogonek", 600, NULL },
- { "backslash", 600, NULL },
- { "L", 600, NULL },
- { "periodcentered", 600, NULL },
- { "M", 600, NULL },
- { "N", 600, NULL },
- { "omacron", 600, NULL },
- { "Tcommaaccent", 600, NULL },
- { "O", 600, NULL },
- { "P", 600, NULL },
- { "Q", 600, NULL },
- { "Uhungarumlaut", 600, NULL },
- { "R", 600, NULL },
- { "Aacute", 600, NULL },
- { "caron", 600, NULL },
- { "S", 600, NULL },
- { "T", 600, NULL },
- { "U", 600, NULL },
- { "agrave", 600, NULL },
- { "V", 600, NULL },
- { "W", 600, NULL },
- { "X", 600, NULL },
- { "question", 600, NULL },
- { "equal", 600, NULL },
- { "Y", 600, NULL },
- { "Z", 600, NULL },
- { "four", 600, NULL },
- { "a", 600, NULL },
- { "Gcommaaccent", 600, NULL },
- { "b", 600, NULL },
- { "c", 600, NULL },
- { "d", 600, NULL },
- { "e", 600, NULL },
- { "f", 600, NULL },
- { "g", 600, NULL },
- { "bullet", 600, NULL },
- { "h", 600, NULL },
- { "i", 600, NULL },
- { "Oslash", 600, NULL },
- { "dagger", 600, NULL },
- { "j", 600, NULL },
- { "k", 600, NULL },
- { "l", 600, NULL },
- { "m", 600, NULL },
- { "n", 600, NULL },
- { "tcommaaccent", 600, NULL },
- { "o", 600, NULL },
- { "ordfeminine", 600, NULL },
- { "ring", 600, NULL },
- { "p", 600, NULL },
- { "q", 600, NULL },
- { "uhungarumlaut", 600, NULL },
- { "r", 600, NULL },
- { "twosuperior", 600, NULL },
- { "aacute", 600, NULL },
- { "s", 600, NULL },
- { "OE", 600, NULL },
- { "t", 600, NULL },
- { "divide", 600, NULL },
- { "u", 600, NULL },
- { "Ccaron", 600, NULL },
- { "v", 600, NULL },
- { "w", 600, NULL },
- { "x", 600, NULL },
- { "y", 600, NULL },
- { "z", 600, NULL },
- { "Gbreve", 600, NULL },
- { "commaaccent", 600, NULL },
- { "hungarumlaut", 600, NULL },
- { "Idotaccent", 600, NULL },
- { "Nacute", 600, NULL },
- { "quotedbl", 600, NULL },
- { "gcommaaccent", 600, NULL },
- { "mu", 600, NULL },
- { "greaterequal", 600, NULL },
- { "Scaron", 600, NULL },
- { "Lslash", 600, NULL },
- { "semicolon", 600, NULL },
- { "oslash", 600, NULL },
- { "lessequal", 600, NULL },
- { "lozenge", 600, NULL },
- { "parenright", 600, NULL },
- { "ccaron", 600, NULL },
- { "Ecircumflex", 600, NULL },
- { "gbreve", 600, NULL },
- { "trademark", 600, NULL },
- { "daggerdbl", 600, NULL },
- { "nacute", 600, NULL },
- { "macron", 600, NULL },
- { "Otilde", 600, NULL },
- { "Emacron", 600, NULL },
- { "ellipsis", 600, NULL },
- { "scaron", 600, NULL },
- { "AE", 600, NULL },
- { "Ucircumflex", 600, NULL },
- { "lslash", 600, NULL },
- { "quotedblleft", 600, NULL },
- { "guilsinglright", 600, NULL },
- { "hyphen", 600, NULL },
- { "quotesingle", 600, NULL },
- { "eight", 600, NULL },
- { "exclamdown", 600, NULL },
- { "endash", 600, NULL },
- { "oe", 600, NULL },
- { "Abreve", 600, NULL },
- { "Umacron", 600, NULL },
- { "ecircumflex", 600, NULL },
- { "Adieresis", 600, NULL },
- { "copyright", 600, NULL },
- { "Egrave", 600, NULL },
- { "slash", 600, NULL },
- { "Edieresis", 600, NULL },
- { "otilde", 600, NULL },
- { "Idieresis", 600, NULL },
- { "parenleft", 600, NULL },
- { "one", 600, NULL },
- { "emacron", 600, NULL },
- { "Odieresis", 600, NULL },
- { "ucircumflex", 600, NULL },
- { "bracketleft", 600, NULL },
- { "Ugrave", 600, NULL },
- { "quoteright", 600, NULL },
- { "Udieresis", 600, NULL },
- { "perthousand", 600, NULL },
- { "Ydieresis", 600, NULL },
- { "umacron", 600, NULL },
- { "abreve", 600, NULL },
- { "Eacute", 600, NULL },
- { "adieresis", 600, NULL },
- { "egrave", 600, NULL },
- { "edieresis", 600, NULL },
- { "idieresis", 600, NULL },
- { "Eth", 600, NULL },
- { "ae", 600, NULL },
- { "asterisk", 600, NULL },
- { "odieresis", 600, NULL },
- { "Uacute", 600, NULL },
- { "ugrave", 600, NULL },
- { "nine", 600, NULL },
- { "five", 600, NULL },
- { "udieresis", 600, NULL },
- { "Zcaron", 600, NULL },
- { "Scommaaccent", 600, NULL },
- { "threequarters", 600, NULL },
- { "guillemotright", 600, NULL },
- { "Ccedilla", 600, NULL },
- { "ydieresis", 600, NULL },
- { "tilde", 600, NULL },
- { "at", 600, NULL },
- { "eacute", 600, NULL },
- { "underscore", 600, NULL },
- { "Euro", 600, NULL },
- { "Dcroat", 600, NULL },
- { "multiply", 600, NULL },
- { "zero", 600, NULL },
- { "eth", 600, NULL },
- { "Scedilla", 600, NULL },
- { "Ograve", 600, NULL },
- { "Racute", 600, NULL },
- { "partialdiff", 600, NULL },
- { "uacute", 600, NULL },
- { "braceleft", 600, NULL },
- { "Thorn", 600, NULL },
- { "zcaron", 600, NULL },
- { "scommaaccent", 600, NULL },
- { "ccedilla", 600, NULL },
- { "Dcaron", 600, NULL },
- { "dcroat", 600, NULL },
- { "Ocircumflex", 600, NULL },
- { "Oacute", 600, NULL },
- { "scedilla", 600, NULL },
- { "ogonek", 600, NULL },
- { "ograve", 600, NULL },
- { "racute", 600, NULL },
- { "Tcaron", 600, NULL },
- { "Eogonek", 600, NULL },
- { "thorn", 600, NULL },
- { "degree", 600, NULL },
- { "registered", 600, NULL },
- { "radical", 600, NULL },
- { "Aring", 600, NULL },
- { "percent", 600, NULL },
- { "six", 600, NULL },
- { "paragraph", 600, NULL },
- { "dcaron", 600, NULL },
- { "Uogonek", 600, NULL },
- { "two", 600, NULL },
- { "summation", 600, NULL },
- { "Igrave", 600, NULL },
- { "Lacute", 600, NULL },
- { "ocircumflex", 600, NULL },
- { "oacute", 600, NULL },
- { "Uring", 600, NULL },
- { "Lcommaaccent", 600, NULL },
- { "tcaron", 600, NULL },
- { "eogonek", 600, NULL },
- { "Delta", 600, NULL },
- { "Ohungarumlaut", 600, NULL },
- { "asciicircum", 600, NULL },
- { "aring", 600, NULL },
- { "grave", 600, NULL },
- { "uogonek", 600, NULL },
- { "bracketright", 600, NULL },
- { "Iacute", 600, NULL },
- { "ampersand", 600, NULL },
- { "igrave", 600, NULL },
- { "lacute", 600, NULL },
- { "Ncaron", 600, NULL },
- { "plus", 600, NULL },
- { "uring", 600, NULL },
- { "quotesinglbase", 600, NULL },
- { "lcommaaccent", 600, NULL },
- { "Yacute", 600, NULL },
- { "ohungarumlaut", 600, NULL },
- { "threesuperior", 600, NULL },
- { "acute", 600, NULL },
- { "section", 600, NULL },
- { "dieresis", 600, NULL },
- { "iacute", 600, NULL },
- { "quotedblbase", 600, NULL },
- { "ncaron", 600, NULL },
- { "florin", 600, NULL },
- { "yacute", 600, NULL },
- { "Rcommaaccent", 600, NULL },
- { "fi", 600, NULL },
- { "fl", 600, NULL },
- { "Acircumflex", 600, NULL },
- { "Cacute", 600, NULL },
- { "Icircumflex", 600, NULL },
- { "guillemotleft", 600, NULL },
- { "germandbls", 600, NULL },
- { "Amacron", 600, NULL },
- { "seven", 600, NULL },
- { "Sacute", 600, NULL },
- { "ordmasculine", 600, NULL },
- { "dotlessi", 600, NULL },
- { "sterling", 600, NULL },
- { "notequal", 600, NULL },
- { "Imacron", 600, NULL },
- { "rcommaaccent", 600, NULL },
- { "Zdotaccent", 600, NULL },
- { "acircumflex", 600, NULL },
- { "cacute", 600, NULL },
- { "Ecaron", 600, NULL },
- { "icircumflex", 600, NULL },
- { "braceright", 600, NULL },
- { "quotedblright", 600, NULL },
- { "amacron", 600, NULL },
- { "sacute", 600, NULL },
- { "imacron", 600, NULL },
- { "cent", 600, NULL },
- { "currency", 600, NULL },
- { "logicalnot", 600, NULL },
- { "zdotaccent", 600, NULL },
- { "Atilde", 600, NULL },
- { "breve", 600, NULL },
- { "bar", 600, NULL },
- { "fraction", 600, NULL },
- { "less", 600, NULL },
- { "ecaron", 600, NULL },
- { "guilsinglleft", 600, NULL },
- { "exclam", 600, NULL },
- { "period", 600, NULL },
- { "Rcaron", 600, NULL },
- { "Kcommaaccent", 600, NULL },
- { "greater", 600, NULL },
- { "atilde", 600, NULL },
- { "brokenbar", 600, NULL },
- { "quoteleft", 600, NULL },
- { "Edotaccent", 600, NULL },
- { "onesuperior", 600, NULL }
+ { "Ntilde", 600, nullptr },
+ { "rcaron", 600, nullptr },
+ { "kcommaaccent", 600, nullptr },
+ { "Ncommaaccent", 600, nullptr },
+ { "Zacute", 600, nullptr },
+ { "comma", 600, nullptr },
+ { "cedilla", 600, nullptr },
+ { "plusminus", 600, nullptr },
+ { "circumflex", 600, nullptr },
+ { "dotaccent", 600, nullptr },
+ { "edotaccent", 600, nullptr },
+ { "asciitilde", 600, nullptr },
+ { "colon", 600, nullptr },
+ { "onehalf", 600, nullptr },
+ { "dollar", 600, nullptr },
+ { "Lcaron", 600, nullptr },
+ { "ntilde", 600, nullptr },
+ { "Aogonek", 600, nullptr },
+ { "ncommaaccent", 600, nullptr },
+ { "minus", 600, nullptr },
+ { "Iogonek", 600, nullptr },
+ { "zacute", 600, nullptr },
+ { "yen", 600, nullptr },
+ { "space", 600, nullptr },
+ { "Omacron", 600, nullptr },
+ { "questiondown", 600, nullptr },
+ { "emdash", 600, nullptr },
+ { "Agrave", 600, nullptr },
+ { "three", 600, nullptr },
+ { "numbersign", 600, nullptr },
+ { "lcaron", 600, nullptr },
+ { "A", 600, nullptr },
+ { "B", 600, nullptr },
+ { "C", 600, nullptr },
+ { "aogonek", 600, nullptr },
+ { "D", 600, nullptr },
+ { "E", 600, nullptr },
+ { "onequarter", 600, nullptr },
+ { "F", 600, nullptr },
+ { "G", 600, nullptr },
+ { "H", 600, nullptr },
+ { "I", 600, nullptr },
+ { "J", 600, nullptr },
+ { "K", 600, nullptr },
+ { "iogonek", 600, nullptr },
+ { "backslash", 600, nullptr },
+ { "L", 600, nullptr },
+ { "periodcentered", 600, nullptr },
+ { "M", 600, nullptr },
+ { "N", 600, nullptr },
+ { "omacron", 600, nullptr },
+ { "Tcommaaccent", 600, nullptr },
+ { "O", 600, nullptr },
+ { "P", 600, nullptr },
+ { "Q", 600, nullptr },
+ { "Uhungarumlaut", 600, nullptr },
+ { "R", 600, nullptr },
+ { "Aacute", 600, nullptr },
+ { "caron", 600, nullptr },
+ { "S", 600, nullptr },
+ { "T", 600, nullptr },
+ { "U", 600, nullptr },
+ { "agrave", 600, nullptr },
+ { "V", 600, nullptr },
+ { "W", 600, nullptr },
+ { "X", 600, nullptr },
+ { "question", 600, nullptr },
+ { "equal", 600, nullptr },
+ { "Y", 600, nullptr },
+ { "Z", 600, nullptr },
+ { "four", 600, nullptr },
+ { "a", 600, nullptr },
+ { "Gcommaaccent", 600, nullptr },
+ { "b", 600, nullptr },
+ { "c", 600, nullptr },
+ { "d", 600, nullptr },
+ { "e", 600, nullptr },
+ { "f", 600, nullptr },
+ { "g", 600, nullptr },
+ { "bullet", 600, nullptr },
+ { "h", 600, nullptr },
+ { "i", 600, nullptr },
+ { "Oslash", 600, nullptr },
+ { "dagger", 600, nullptr },
+ { "j", 600, nullptr },
+ { "k", 600, nullptr },
+ { "l", 600, nullptr },
+ { "m", 600, nullptr },
+ { "n", 600, nullptr },
+ { "tcommaaccent", 600, nullptr },
+ { "o", 600, nullptr },
+ { "ordfeminine", 600, nullptr },
+ { "ring", 600, nullptr },
+ { "p", 600, nullptr },
+ { "q", 600, nullptr },
+ { "uhungarumlaut", 600, nullptr },
+ { "r", 600, nullptr },
+ { "twosuperior", 600, nullptr },
+ { "aacute", 600, nullptr },
+ { "s", 600, nullptr },
+ { "OE", 600, nullptr },
+ { "t", 600, nullptr },
+ { "divide", 600, nullptr },
+ { "u", 600, nullptr },
+ { "Ccaron", 600, nullptr },
+ { "v", 600, nullptr },
+ { "w", 600, nullptr },
+ { "x", 600, nullptr },
+ { "y", 600, nullptr },
+ { "z", 600, nullptr },
+ { "Gbreve", 600, nullptr },
+ { "commaaccent", 600, nullptr },
+ { "hungarumlaut", 600, nullptr },
+ { "Idotaccent", 600, nullptr },
+ { "Nacute", 600, nullptr },
+ { "quotedbl", 600, nullptr },
+ { "gcommaaccent", 600, nullptr },
+ { "mu", 600, nullptr },
+ { "greaterequal", 600, nullptr },
+ { "Scaron", 600, nullptr },
+ { "Lslash", 600, nullptr },
+ { "semicolon", 600, nullptr },
+ { "oslash", 600, nullptr },
+ { "lessequal", 600, nullptr },
+ { "lozenge", 600, nullptr },
+ { "parenright", 600, nullptr },
+ { "ccaron", 600, nullptr },
+ { "Ecircumflex", 600, nullptr },
+ { "gbreve", 600, nullptr },
+ { "trademark", 600, nullptr },
+ { "daggerdbl", 600, nullptr },
+ { "nacute", 600, nullptr },
+ { "macron", 600, nullptr },
+ { "Otilde", 600, nullptr },
+ { "Emacron", 600, nullptr },
+ { "ellipsis", 600, nullptr },
+ { "scaron", 600, nullptr },
+ { "AE", 600, nullptr },
+ { "Ucircumflex", 600, nullptr },
+ { "lslash", 600, nullptr },
+ { "quotedblleft", 600, nullptr },
+ { "guilsinglright", 600, nullptr },
+ { "hyphen", 600, nullptr },
+ { "quotesingle", 600, nullptr },
+ { "eight", 600, nullptr },
+ { "exclamdown", 600, nullptr },
+ { "endash", 600, nullptr },
+ { "oe", 600, nullptr },
+ { "Abreve", 600, nullptr },
+ { "Umacron", 600, nullptr },
+ { "ecircumflex", 600, nullptr },
+ { "Adieresis", 600, nullptr },
+ { "copyright", 600, nullptr },
+ { "Egrave", 600, nullptr },
+ { "slash", 600, nullptr },
+ { "Edieresis", 600, nullptr },
+ { "otilde", 600, nullptr },
+ { "Idieresis", 600, nullptr },
+ { "parenleft", 600, nullptr },
+ { "one", 600, nullptr },
+ { "emacron", 600, nullptr },
+ { "Odieresis", 600, nullptr },
+ { "ucircumflex", 600, nullptr },
+ { "bracketleft", 600, nullptr },
+ { "Ugrave", 600, nullptr },
+ { "quoteright", 600, nullptr },
+ { "Udieresis", 600, nullptr },
+ { "perthousand", 600, nullptr },
+ { "Ydieresis", 600, nullptr },
+ { "umacron", 600, nullptr },
+ { "abreve", 600, nullptr },
+ { "Eacute", 600, nullptr },
+ { "adieresis", 600, nullptr },
+ { "egrave", 600, nullptr },
+ { "edieresis", 600, nullptr },
+ { "idieresis", 600, nullptr },
+ { "Eth", 600, nullptr },
+ { "ae", 600, nullptr },
+ { "asterisk", 600, nullptr },
+ { "odieresis", 600, nullptr },
+ { "Uacute", 600, nullptr },
+ { "ugrave", 600, nullptr },
+ { "nine", 600, nullptr },
+ { "five", 600, nullptr },
+ { "udieresis", 600, nullptr },
+ { "Zcaron", 600, nullptr },
+ { "Scommaaccent", 600, nullptr },
+ { "threequarters", 600, nullptr },
+ { "guillemotright", 600, nullptr },
+ { "Ccedilla", 600, nullptr },
+ { "ydieresis", 600, nullptr },
+ { "tilde", 600, nullptr },
+ { "at", 600, nullptr },
+ { "eacute", 600, nullptr },
+ { "underscore", 600, nullptr },
+ { "Euro", 600, nullptr },
+ { "Dcroat", 600, nullptr },
+ { "multiply", 600, nullptr },
+ { "zero", 600, nullptr },
+ { "eth", 600, nullptr },
+ { "Scedilla", 600, nullptr },
+ { "Ograve", 600, nullptr },
+ { "Racute", 600, nullptr },
+ { "partialdiff", 600, nullptr },
+ { "uacute", 600, nullptr },
+ { "braceleft", 600, nullptr },
+ { "Thorn", 600, nullptr },
+ { "zcaron", 600, nullptr },
+ { "scommaaccent", 600, nullptr },
+ { "ccedilla", 600, nullptr },
+ { "Dcaron", 600, nullptr },
+ { "dcroat", 600, nullptr },
+ { "Ocircumflex", 600, nullptr },
+ { "Oacute", 600, nullptr },
+ { "scedilla", 600, nullptr },
+ { "ogonek", 600, nullptr },
+ { "ograve", 600, nullptr },
+ { "racute", 600, nullptr },
+ { "Tcaron", 600, nullptr },
+ { "Eogonek", 600, nullptr },
+ { "thorn", 600, nullptr },
+ { "degree", 600, nullptr },
+ { "registered", 600, nullptr },
+ { "radical", 600, nullptr },
+ { "Aring", 600, nullptr },
+ { "percent", 600, nullptr },
+ { "six", 600, nullptr },
+ { "paragraph", 600, nullptr },
+ { "dcaron", 600, nullptr },
+ { "Uogonek", 600, nullptr },
+ { "two", 600, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 600, nullptr },
+ { "Lacute", 600, nullptr },
+ { "ocircumflex", 600, nullptr },
+ { "oacute", 600, nullptr },
+ { "Uring", 600, nullptr },
+ { "Lcommaaccent", 600, nullptr },
+ { "tcaron", 600, nullptr },
+ { "eogonek", 600, nullptr },
+ { "Delta", 600, nullptr },
+ { "Ohungarumlaut", 600, nullptr },
+ { "asciicircum", 600, nullptr },
+ { "aring", 600, nullptr },
+ { "grave", 600, nullptr },
+ { "uogonek", 600, nullptr },
+ { "bracketright", 600, nullptr },
+ { "Iacute", 600, nullptr },
+ { "ampersand", 600, nullptr },
+ { "igrave", 600, nullptr },
+ { "lacute", 600, nullptr },
+ { "Ncaron", 600, nullptr },
+ { "plus", 600, nullptr },
+ { "uring", 600, nullptr },
+ { "quotesinglbase", 600, nullptr },
+ { "lcommaaccent", 600, nullptr },
+ { "Yacute", 600, nullptr },
+ { "ohungarumlaut", 600, nullptr },
+ { "threesuperior", 600, nullptr },
+ { "acute", 600, nullptr },
+ { "section", 600, nullptr },
+ { "dieresis", 600, nullptr },
+ { "iacute", 600, nullptr },
+ { "quotedblbase", 600, nullptr },
+ { "ncaron", 600, nullptr },
+ { "florin", 600, nullptr },
+ { "yacute", 600, nullptr },
+ { "Rcommaaccent", 600, nullptr },
+ { "fi", 600, nullptr },
+ { "fl", 600, nullptr },
+ { "Acircumflex", 600, nullptr },
+ { "Cacute", 600, nullptr },
+ { "Icircumflex", 600, nullptr },
+ { "guillemotleft", 600, nullptr },
+ { "germandbls", 600, nullptr },
+ { "Amacron", 600, nullptr },
+ { "seven", 600, nullptr },
+ { "Sacute", 600, nullptr },
+ { "ordmasculine", 600, nullptr },
+ { "dotlessi", 600, nullptr },
+ { "sterling", 600, nullptr },
+ { "notequal", 600, nullptr },
+ { "Imacron", 600, nullptr },
+ { "rcommaaccent", 600, nullptr },
+ { "Zdotaccent", 600, nullptr },
+ { "acircumflex", 600, nullptr },
+ { "cacute", 600, nullptr },
+ { "Ecaron", 600, nullptr },
+ { "icircumflex", 600, nullptr },
+ { "braceright", 600, nullptr },
+ { "quotedblright", 600, nullptr },
+ { "amacron", 600, nullptr },
+ { "sacute", 600, nullptr },
+ { "imacron", 600, nullptr },
+ { "cent", 600, nullptr },
+ { "currency", 600, nullptr },
+ { "logicalnot", 600, nullptr },
+ { "zdotaccent", 600, nullptr },
+ { "Atilde", 600, nullptr },
+ { "breve", 600, nullptr },
+ { "bar", 600, nullptr },
+ { "fraction", 600, nullptr },
+ { "less", 600, nullptr },
+ { "ecaron", 600, nullptr },
+ { "guilsinglleft", 600, nullptr },
+ { "exclam", 600, nullptr },
+ { "period", 600, nullptr },
+ { "Rcaron", 600, nullptr },
+ { "Kcommaaccent", 600, nullptr },
+ { "greater", 600, nullptr },
+ { "atilde", 600, nullptr },
+ { "brokenbar", 600, nullptr },
+ { "quoteleft", 600, nullptr },
+ { "Edotaccent", 600, nullptr },
+ { "onesuperior", 600, nullptr }
};
static BuiltinFontWidth courierBoldObliqueWidthsTab[] = {
- { "Ntilde", 600, NULL },
- { "rcaron", 600, NULL },
- { "kcommaaccent", 600, NULL },
- { "Ncommaaccent", 600, NULL },
- { "Zacute", 600, NULL },
- { "comma", 600, NULL },
- { "cedilla", 600, NULL },
- { "plusminus", 600, NULL },
- { "circumflex", 600, NULL },
- { "dotaccent", 600, NULL },
- { "edotaccent", 600, NULL },
- { "asciitilde", 600, NULL },
- { "colon", 600, NULL },
- { "onehalf", 600, NULL },
- { "dollar", 600, NULL },
- { "Lcaron", 600, NULL },
- { "ntilde", 600, NULL },
- { "Aogonek", 600, NULL },
- { "ncommaaccent", 600, NULL },
- { "minus", 600, NULL },
- { "Iogonek", 600, NULL },
- { "zacute", 600, NULL },
- { "yen", 600, NULL },
- { "space", 600, NULL },
- { "Omacron", 600, NULL },
- { "questiondown", 600, NULL },
- { "emdash", 600, NULL },
- { "Agrave", 600, NULL },
- { "three", 600, NULL },
- { "numbersign", 600, NULL },
- { "lcaron", 600, NULL },
- { "A", 600, NULL },
- { "B", 600, NULL },
- { "C", 600, NULL },
- { "aogonek", 600, NULL },
- { "D", 600, NULL },
- { "E", 600, NULL },
- { "onequarter", 600, NULL },
- { "F", 600, NULL },
- { "G", 600, NULL },
- { "H", 600, NULL },
- { "I", 600, NULL },
- { "J", 600, NULL },
- { "K", 600, NULL },
- { "iogonek", 600, NULL },
- { "backslash", 600, NULL },
- { "L", 600, NULL },
- { "periodcentered", 600, NULL },
- { "M", 600, NULL },
- { "N", 600, NULL },
- { "omacron", 600, NULL },
- { "Tcommaaccent", 600, NULL },
- { "O", 600, NULL },
- { "P", 600, NULL },
- { "Q", 600, NULL },
- { "Uhungarumlaut", 600, NULL },
- { "R", 600, NULL },
- { "Aacute", 600, NULL },
- { "caron", 600, NULL },
- { "S", 600, NULL },
- { "T", 600, NULL },
- { "U", 600, NULL },
- { "agrave", 600, NULL },
- { "V", 600, NULL },
- { "W", 600, NULL },
- { "X", 600, NULL },
- { "question", 600, NULL },
- { "equal", 600, NULL },
- { "Y", 600, NULL },
- { "Z", 600, NULL },
- { "four", 600, NULL },
- { "a", 600, NULL },
- { "Gcommaaccent", 600, NULL },
- { "b", 600, NULL },
- { "c", 600, NULL },
- { "d", 600, NULL },
- { "e", 600, NULL },
- { "f", 600, NULL },
- { "g", 600, NULL },
- { "bullet", 600, NULL },
- { "h", 600, NULL },
- { "i", 600, NULL },
- { "Oslash", 600, NULL },
- { "dagger", 600, NULL },
- { "j", 600, NULL },
- { "k", 600, NULL },
- { "l", 600, NULL },
- { "m", 600, NULL },
- { "n", 600, NULL },
- { "tcommaaccent", 600, NULL },
- { "o", 600, NULL },
- { "ordfeminine", 600, NULL },
- { "ring", 600, NULL },
- { "p", 600, NULL },
- { "q", 600, NULL },
- { "uhungarumlaut", 600, NULL },
- { "r", 600, NULL },
- { "twosuperior", 600, NULL },
- { "aacute", 600, NULL },
- { "s", 600, NULL },
- { "OE", 600, NULL },
- { "t", 600, NULL },
- { "divide", 600, NULL },
- { "u", 600, NULL },
- { "Ccaron", 600, NULL },
- { "v", 600, NULL },
- { "w", 600, NULL },
- { "x", 600, NULL },
- { "y", 600, NULL },
- { "z", 600, NULL },
- { "Gbreve", 600, NULL },
- { "commaaccent", 600, NULL },
- { "hungarumlaut", 600, NULL },
- { "Idotaccent", 600, NULL },
- { "Nacute", 600, NULL },
- { "quotedbl", 600, NULL },
- { "gcommaaccent", 600, NULL },
- { "mu", 600, NULL },
- { "greaterequal", 600, NULL },
- { "Scaron", 600, NULL },
- { "Lslash", 600, NULL },
- { "semicolon", 600, NULL },
- { "oslash", 600, NULL },
- { "lessequal", 600, NULL },
- { "lozenge", 600, NULL },
- { "parenright", 600, NULL },
- { "ccaron", 600, NULL },
- { "Ecircumflex", 600, NULL },
- { "gbreve", 600, NULL },
- { "trademark", 600, NULL },
- { "daggerdbl", 600, NULL },
- { "nacute", 600, NULL },
- { "macron", 600, NULL },
- { "Otilde", 600, NULL },
- { "Emacron", 600, NULL },
- { "ellipsis", 600, NULL },
- { "scaron", 600, NULL },
- { "AE", 600, NULL },
- { "Ucircumflex", 600, NULL },
- { "lslash", 600, NULL },
- { "quotedblleft", 600, NULL },
- { "guilsinglright", 600, NULL },
- { "hyphen", 600, NULL },
- { "quotesingle", 600, NULL },
- { "eight", 600, NULL },
- { "exclamdown", 600, NULL },
- { "endash", 600, NULL },
- { "oe", 600, NULL },
- { "Abreve", 600, NULL },
- { "Umacron", 600, NULL },
- { "ecircumflex", 600, NULL },
- { "Adieresis", 600, NULL },
- { "copyright", 600, NULL },
- { "Egrave", 600, NULL },
- { "slash", 600, NULL },
- { "Edieresis", 600, NULL },
- { "otilde", 600, NULL },
- { "Idieresis", 600, NULL },
- { "parenleft", 600, NULL },
- { "one", 600, NULL },
- { "emacron", 600, NULL },
- { "Odieresis", 600, NULL },
- { "ucircumflex", 600, NULL },
- { "bracketleft", 600, NULL },
- { "Ugrave", 600, NULL },
- { "quoteright", 600, NULL },
- { "Udieresis", 600, NULL },
- { "perthousand", 600, NULL },
- { "Ydieresis", 600, NULL },
- { "umacron", 600, NULL },
- { "abreve", 600, NULL },
- { "Eacute", 600, NULL },
- { "adieresis", 600, NULL },
- { "egrave", 600, NULL },
- { "edieresis", 600, NULL },
- { "idieresis", 600, NULL },
- { "Eth", 600, NULL },
- { "ae", 600, NULL },
- { "asterisk", 600, NULL },
- { "odieresis", 600, NULL },
- { "Uacute", 600, NULL },
- { "ugrave", 600, NULL },
- { "nine", 600, NULL },
- { "five", 600, NULL },
- { "udieresis", 600, NULL },
- { "Zcaron", 600, NULL },
- { "Scommaaccent", 600, NULL },
- { "threequarters", 600, NULL },
- { "guillemotright", 600, NULL },
- { "Ccedilla", 600, NULL },
- { "ydieresis", 600, NULL },
- { "tilde", 600, NULL },
- { "at", 600, NULL },
- { "eacute", 600, NULL },
- { "underscore", 600, NULL },
- { "Euro", 600, NULL },
- { "Dcroat", 600, NULL },
- { "multiply", 600, NULL },
- { "zero", 600, NULL },
- { "eth", 600, NULL },
- { "Scedilla", 600, NULL },
- { "Ograve", 600, NULL },
- { "Racute", 600, NULL },
- { "partialdiff", 600, NULL },
- { "uacute", 600, NULL },
- { "braceleft", 600, NULL },
- { "Thorn", 600, NULL },
- { "zcaron", 600, NULL },
- { "scommaaccent", 600, NULL },
- { "ccedilla", 600, NULL },
- { "Dcaron", 600, NULL },
- { "dcroat", 600, NULL },
- { "Ocircumflex", 600, NULL },
- { "Oacute", 600, NULL },
- { "scedilla", 600, NULL },
- { "ogonek", 600, NULL },
- { "ograve", 600, NULL },
- { "racute", 600, NULL },
- { "Tcaron", 600, NULL },
- { "Eogonek", 600, NULL },
- { "thorn", 600, NULL },
- { "degree", 600, NULL },
- { "registered", 600, NULL },
- { "radical", 600, NULL },
- { "Aring", 600, NULL },
- { "percent", 600, NULL },
- { "six", 600, NULL },
- { "paragraph", 600, NULL },
- { "dcaron", 600, NULL },
- { "Uogonek", 600, NULL },
- { "two", 600, NULL },
- { "summation", 600, NULL },
- { "Igrave", 600, NULL },
- { "Lacute", 600, NULL },
- { "ocircumflex", 600, NULL },
- { "oacute", 600, NULL },
- { "Uring", 600, NULL },
- { "Lcommaaccent", 600, NULL },
- { "tcaron", 600, NULL },
- { "eogonek", 600, NULL },
- { "Delta", 600, NULL },
- { "Ohungarumlaut", 600, NULL },
- { "asciicircum", 600, NULL },
- { "aring", 600, NULL },
- { "grave", 600, NULL },
- { "uogonek", 600, NULL },
- { "bracketright", 600, NULL },
- { "Iacute", 600, NULL },
- { "ampersand", 600, NULL },
- { "igrave", 600, NULL },
- { "lacute", 600, NULL },
- { "Ncaron", 600, NULL },
- { "plus", 600, NULL },
- { "uring", 600, NULL },
- { "quotesinglbase", 600, NULL },
- { "lcommaaccent", 600, NULL },
- { "Yacute", 600, NULL },
- { "ohungarumlaut", 600, NULL },
- { "threesuperior", 600, NULL },
- { "acute", 600, NULL },
- { "section", 600, NULL },
- { "dieresis", 600, NULL },
- { "iacute", 600, NULL },
- { "quotedblbase", 600, NULL },
- { "ncaron", 600, NULL },
- { "florin", 600, NULL },
- { "yacute", 600, NULL },
- { "Rcommaaccent", 600, NULL },
- { "fi", 600, NULL },
- { "fl", 600, NULL },
- { "Acircumflex", 600, NULL },
- { "Cacute", 600, NULL },
- { "Icircumflex", 600, NULL },
- { "guillemotleft", 600, NULL },
- { "germandbls", 600, NULL },
- { "Amacron", 600, NULL },
- { "seven", 600, NULL },
- { "Sacute", 600, NULL },
- { "ordmasculine", 600, NULL },
- { "dotlessi", 600, NULL },
- { "sterling", 600, NULL },
- { "notequal", 600, NULL },
- { "Imacron", 600, NULL },
- { "rcommaaccent", 600, NULL },
- { "Zdotaccent", 600, NULL },
- { "acircumflex", 600, NULL },
- { "cacute", 600, NULL },
- { "Ecaron", 600, NULL },
- { "icircumflex", 600, NULL },
- { "braceright", 600, NULL },
- { "quotedblright", 600, NULL },
- { "amacron", 600, NULL },
- { "sacute", 600, NULL },
- { "imacron", 600, NULL },
- { "cent", 600, NULL },
- { "currency", 600, NULL },
- { "logicalnot", 600, NULL },
- { "zdotaccent", 600, NULL },
- { "Atilde", 600, NULL },
- { "breve", 600, NULL },
- { "bar", 600, NULL },
- { "fraction", 600, NULL },
- { "less", 600, NULL },
- { "ecaron", 600, NULL },
- { "guilsinglleft", 600, NULL },
- { "exclam", 600, NULL },
- { "period", 600, NULL },
- { "Rcaron", 600, NULL },
- { "Kcommaaccent", 600, NULL },
- { "greater", 600, NULL },
- { "atilde", 600, NULL },
- { "brokenbar", 600, NULL },
- { "quoteleft", 600, NULL },
- { "Edotaccent", 600, NULL },
- { "onesuperior", 600, NULL }
+ { "Ntilde", 600, nullptr },
+ { "rcaron", 600, nullptr },
+ { "kcommaaccent", 600, nullptr },
+ { "Ncommaaccent", 600, nullptr },
+ { "Zacute", 600, nullptr },
+ { "comma", 600, nullptr },
+ { "cedilla", 600, nullptr },
+ { "plusminus", 600, nullptr },
+ { "circumflex", 600, nullptr },
+ { "dotaccent", 600, nullptr },
+ { "edotaccent", 600, nullptr },
+ { "asciitilde", 600, nullptr },
+ { "colon", 600, nullptr },
+ { "onehalf", 600, nullptr },
+ { "dollar", 600, nullptr },
+ { "Lcaron", 600, nullptr },
+ { "ntilde", 600, nullptr },
+ { "Aogonek", 600, nullptr },
+ { "ncommaaccent", 600, nullptr },
+ { "minus", 600, nullptr },
+ { "Iogonek", 600, nullptr },
+ { "zacute", 600, nullptr },
+ { "yen", 600, nullptr },
+ { "space", 600, nullptr },
+ { "Omacron", 600, nullptr },
+ { "questiondown", 600, nullptr },
+ { "emdash", 600, nullptr },
+ { "Agrave", 600, nullptr },
+ { "three", 600, nullptr },
+ { "numbersign", 600, nullptr },
+ { "lcaron", 600, nullptr },
+ { "A", 600, nullptr },
+ { "B", 600, nullptr },
+ { "C", 600, nullptr },
+ { "aogonek", 600, nullptr },
+ { "D", 600, nullptr },
+ { "E", 600, nullptr },
+ { "onequarter", 600, nullptr },
+ { "F", 600, nullptr },
+ { "G", 600, nullptr },
+ { "H", 600, nullptr },
+ { "I", 600, nullptr },
+ { "J", 600, nullptr },
+ { "K", 600, nullptr },
+ { "iogonek", 600, nullptr },
+ { "backslash", 600, nullptr },
+ { "L", 600, nullptr },
+ { "periodcentered", 600, nullptr },
+ { "M", 600, nullptr },
+ { "N", 600, nullptr },
+ { "omacron", 600, nullptr },
+ { "Tcommaaccent", 600, nullptr },
+ { "O", 600, nullptr },
+ { "P", 600, nullptr },
+ { "Q", 600, nullptr },
+ { "Uhungarumlaut", 600, nullptr },
+ { "R", 600, nullptr },
+ { "Aacute", 600, nullptr },
+ { "caron", 600, nullptr },
+ { "S", 600, nullptr },
+ { "T", 600, nullptr },
+ { "U", 600, nullptr },
+ { "agrave", 600, nullptr },
+ { "V", 600, nullptr },
+ { "W", 600, nullptr },
+ { "X", 600, nullptr },
+ { "question", 600, nullptr },
+ { "equal", 600, nullptr },
+ { "Y", 600, nullptr },
+ { "Z", 600, nullptr },
+ { "four", 600, nullptr },
+ { "a", 600, nullptr },
+ { "Gcommaaccent", 600, nullptr },
+ { "b", 600, nullptr },
+ { "c", 600, nullptr },
+ { "d", 600, nullptr },
+ { "e", 600, nullptr },
+ { "f", 600, nullptr },
+ { "g", 600, nullptr },
+ { "bullet", 600, nullptr },
+ { "h", 600, nullptr },
+ { "i", 600, nullptr },
+ { "Oslash", 600, nullptr },
+ { "dagger", 600, nullptr },
+ { "j", 600, nullptr },
+ { "k", 600, nullptr },
+ { "l", 600, nullptr },
+ { "m", 600, nullptr },
+ { "n", 600, nullptr },
+ { "tcommaaccent", 600, nullptr },
+ { "o", 600, nullptr },
+ { "ordfeminine", 600, nullptr },
+ { "ring", 600, nullptr },
+ { "p", 600, nullptr },
+ { "q", 600, nullptr },
+ { "uhungarumlaut", 600, nullptr },
+ { "r", 600, nullptr },
+ { "twosuperior", 600, nullptr },
+ { "aacute", 600, nullptr },
+ { "s", 600, nullptr },
+ { "OE", 600, nullptr },
+ { "t", 600, nullptr },
+ { "divide", 600, nullptr },
+ { "u", 600, nullptr },
+ { "Ccaron", 600, nullptr },
+ { "v", 600, nullptr },
+ { "w", 600, nullptr },
+ { "x", 600, nullptr },
+ { "y", 600, nullptr },
+ { "z", 600, nullptr },
+ { "Gbreve", 600, nullptr },
+ { "commaaccent", 600, nullptr },
+ { "hungarumlaut", 600, nullptr },
+ { "Idotaccent", 600, nullptr },
+ { "Nacute", 600, nullptr },
+ { "quotedbl", 600, nullptr },
+ { "gcommaaccent", 600, nullptr },
+ { "mu", 600, nullptr },
+ { "greaterequal", 600, nullptr },
+ { "Scaron", 600, nullptr },
+ { "Lslash", 600, nullptr },
+ { "semicolon", 600, nullptr },
+ { "oslash", 600, nullptr },
+ { "lessequal", 600, nullptr },
+ { "lozenge", 600, nullptr },
+ { "parenright", 600, nullptr },
+ { "ccaron", 600, nullptr },
+ { "Ecircumflex", 600, nullptr },
+ { "gbreve", 600, nullptr },
+ { "trademark", 600, nullptr },
+ { "daggerdbl", 600, nullptr },
+ { "nacute", 600, nullptr },
+ { "macron", 600, nullptr },
+ { "Otilde", 600, nullptr },
+ { "Emacron", 600, nullptr },
+ { "ellipsis", 600, nullptr },
+ { "scaron", 600, nullptr },
+ { "AE", 600, nullptr },
+ { "Ucircumflex", 600, nullptr },
+ { "lslash", 600, nullptr },
+ { "quotedblleft", 600, nullptr },
+ { "guilsinglright", 600, nullptr },
+ { "hyphen", 600, nullptr },
+ { "quotesingle", 600, nullptr },
+ { "eight", 600, nullptr },
+ { "exclamdown", 600, nullptr },
+ { "endash", 600, nullptr },
+ { "oe", 600, nullptr },
+ { "Abreve", 600, nullptr },
+ { "Umacron", 600, nullptr },
+ { "ecircumflex", 600, nullptr },
+ { "Adieresis", 600, nullptr },
+ { "copyright", 600, nullptr },
+ { "Egrave", 600, nullptr },
+ { "slash", 600, nullptr },
+ { "Edieresis", 600, nullptr },
+ { "otilde", 600, nullptr },
+ { "Idieresis", 600, nullptr },
+ { "parenleft", 600, nullptr },
+ { "one", 600, nullptr },
+ { "emacron", 600, nullptr },
+ { "Odieresis", 600, nullptr },
+ { "ucircumflex", 600, nullptr },
+ { "bracketleft", 600, nullptr },
+ { "Ugrave", 600, nullptr },
+ { "quoteright", 600, nullptr },
+ { "Udieresis", 600, nullptr },
+ { "perthousand", 600, nullptr },
+ { "Ydieresis", 600, nullptr },
+ { "umacron", 600, nullptr },
+ { "abreve", 600, nullptr },
+ { "Eacute", 600, nullptr },
+ { "adieresis", 600, nullptr },
+ { "egrave", 600, nullptr },
+ { "edieresis", 600, nullptr },
+ { "idieresis", 600, nullptr },
+ { "Eth", 600, nullptr },
+ { "ae", 600, nullptr },
+ { "asterisk", 600, nullptr },
+ { "odieresis", 600, nullptr },
+ { "Uacute", 600, nullptr },
+ { "ugrave", 600, nullptr },
+ { "nine", 600, nullptr },
+ { "five", 600, nullptr },
+ { "udieresis", 600, nullptr },
+ { "Zcaron", 600, nullptr },
+ { "Scommaaccent", 600, nullptr },
+ { "threequarters", 600, nullptr },
+ { "guillemotright", 600, nullptr },
+ { "Ccedilla", 600, nullptr },
+ { "ydieresis", 600, nullptr },
+ { "tilde", 600, nullptr },
+ { "at", 600, nullptr },
+ { "eacute", 600, nullptr },
+ { "underscore", 600, nullptr },
+ { "Euro", 600, nullptr },
+ { "Dcroat", 600, nullptr },
+ { "multiply", 600, nullptr },
+ { "zero", 600, nullptr },
+ { "eth", 600, nullptr },
+ { "Scedilla", 600, nullptr },
+ { "Ograve", 600, nullptr },
+ { "Racute", 600, nullptr },
+ { "partialdiff", 600, nullptr },
+ { "uacute", 600, nullptr },
+ { "braceleft", 600, nullptr },
+ { "Thorn", 600, nullptr },
+ { "zcaron", 600, nullptr },
+ { "scommaaccent", 600, nullptr },
+ { "ccedilla", 600, nullptr },
+ { "Dcaron", 600, nullptr },
+ { "dcroat", 600, nullptr },
+ { "Ocircumflex", 600, nullptr },
+ { "Oacute", 600, nullptr },
+ { "scedilla", 600, nullptr },
+ { "ogonek", 600, nullptr },
+ { "ograve", 600, nullptr },
+ { "racute", 600, nullptr },
+ { "Tcaron", 600, nullptr },
+ { "Eogonek", 600, nullptr },
+ { "thorn", 600, nullptr },
+ { "degree", 600, nullptr },
+ { "registered", 600, nullptr },
+ { "radical", 600, nullptr },
+ { "Aring", 600, nullptr },
+ { "percent", 600, nullptr },
+ { "six", 600, nullptr },
+ { "paragraph", 600, nullptr },
+ { "dcaron", 600, nullptr },
+ { "Uogonek", 600, nullptr },
+ { "two", 600, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 600, nullptr },
+ { "Lacute", 600, nullptr },
+ { "ocircumflex", 600, nullptr },
+ { "oacute", 600, nullptr },
+ { "Uring", 600, nullptr },
+ { "Lcommaaccent", 600, nullptr },
+ { "tcaron", 600, nullptr },
+ { "eogonek", 600, nullptr },
+ { "Delta", 600, nullptr },
+ { "Ohungarumlaut", 600, nullptr },
+ { "asciicircum", 600, nullptr },
+ { "aring", 600, nullptr },
+ { "grave", 600, nullptr },
+ { "uogonek", 600, nullptr },
+ { "bracketright", 600, nullptr },
+ { "Iacute", 600, nullptr },
+ { "ampersand", 600, nullptr },
+ { "igrave", 600, nullptr },
+ { "lacute", 600, nullptr },
+ { "Ncaron", 600, nullptr },
+ { "plus", 600, nullptr },
+ { "uring", 600, nullptr },
+ { "quotesinglbase", 600, nullptr },
+ { "lcommaaccent", 600, nullptr },
+ { "Yacute", 600, nullptr },
+ { "ohungarumlaut", 600, nullptr },
+ { "threesuperior", 600, nullptr },
+ { "acute", 600, nullptr },
+ { "section", 600, nullptr },
+ { "dieresis", 600, nullptr },
+ { "iacute", 600, nullptr },
+ { "quotedblbase", 600, nullptr },
+ { "ncaron", 600, nullptr },
+ { "florin", 600, nullptr },
+ { "yacute", 600, nullptr },
+ { "Rcommaaccent", 600, nullptr },
+ { "fi", 600, nullptr },
+ { "fl", 600, nullptr },
+ { "Acircumflex", 600, nullptr },
+ { "Cacute", 600, nullptr },
+ { "Icircumflex", 600, nullptr },
+ { "guillemotleft", 600, nullptr },
+ { "germandbls", 600, nullptr },
+ { "Amacron", 600, nullptr },
+ { "seven", 600, nullptr },
+ { "Sacute", 600, nullptr },
+ { "ordmasculine", 600, nullptr },
+ { "dotlessi", 600, nullptr },
+ { "sterling", 600, nullptr },
+ { "notequal", 600, nullptr },
+ { "Imacron", 600, nullptr },
+ { "rcommaaccent", 600, nullptr },
+ { "Zdotaccent", 600, nullptr },
+ { "acircumflex", 600, nullptr },
+ { "cacute", 600, nullptr },
+ { "Ecaron", 600, nullptr },
+ { "icircumflex", 600, nullptr },
+ { "braceright", 600, nullptr },
+ { "quotedblright", 600, nullptr },
+ { "amacron", 600, nullptr },
+ { "sacute", 600, nullptr },
+ { "imacron", 600, nullptr },
+ { "cent", 600, nullptr },
+ { "currency", 600, nullptr },
+ { "logicalnot", 600, nullptr },
+ { "zdotaccent", 600, nullptr },
+ { "Atilde", 600, nullptr },
+ { "breve", 600, nullptr },
+ { "bar", 600, nullptr },
+ { "fraction", 600, nullptr },
+ { "less", 600, nullptr },
+ { "ecaron", 600, nullptr },
+ { "guilsinglleft", 600, nullptr },
+ { "exclam", 600, nullptr },
+ { "period", 600, nullptr },
+ { "Rcaron", 600, nullptr },
+ { "Kcommaaccent", 600, nullptr },
+ { "greater", 600, nullptr },
+ { "atilde", 600, nullptr },
+ { "brokenbar", 600, nullptr },
+ { "quoteleft", 600, nullptr },
+ { "Edotaccent", 600, nullptr },
+ { "onesuperior", 600, nullptr }
};
static BuiltinFontWidth courierObliqueWidthsTab[] = {
- { "Ntilde", 600, NULL },
- { "rcaron", 600, NULL },
- { "kcommaaccent", 600, NULL },
- { "Ncommaaccent", 600, NULL },
- { "Zacute", 600, NULL },
- { "comma", 600, NULL },
- { "cedilla", 600, NULL },
- { "plusminus", 600, NULL },
- { "circumflex", 600, NULL },
- { "dotaccent", 600, NULL },
- { "edotaccent", 600, NULL },
- { "asciitilde", 600, NULL },
- { "colon", 600, NULL },
- { "onehalf", 600, NULL },
- { "dollar", 600, NULL },
- { "Lcaron", 600, NULL },
- { "ntilde", 600, NULL },
- { "Aogonek", 600, NULL },
- { "ncommaaccent", 600, NULL },
- { "minus", 600, NULL },
- { "Iogonek", 600, NULL },
- { "zacute", 600, NULL },
- { "yen", 600, NULL },
- { "space", 600, NULL },
- { "Omacron", 600, NULL },
- { "questiondown", 600, NULL },
- { "emdash", 600, NULL },
- { "Agrave", 600, NULL },
- { "three", 600, NULL },
- { "numbersign", 600, NULL },
- { "lcaron", 600, NULL },
- { "A", 600, NULL },
- { "B", 600, NULL },
- { "C", 600, NULL },
- { "aogonek", 600, NULL },
- { "D", 600, NULL },
- { "E", 600, NULL },
- { "onequarter", 600, NULL },
- { "F", 600, NULL },
- { "G", 600, NULL },
- { "H", 600, NULL },
- { "I", 600, NULL },
- { "J", 600, NULL },
- { "K", 600, NULL },
- { "iogonek", 600, NULL },
- { "backslash", 600, NULL },
- { "L", 600, NULL },
- { "periodcentered", 600, NULL },
- { "M", 600, NULL },
- { "N", 600, NULL },
- { "omacron", 600, NULL },
- { "Tcommaaccent", 600, NULL },
- { "O", 600, NULL },
- { "P", 600, NULL },
- { "Q", 600, NULL },
- { "Uhungarumlaut", 600, NULL },
- { "R", 600, NULL },
- { "Aacute", 600, NULL },
- { "caron", 600, NULL },
- { "S", 600, NULL },
- { "T", 600, NULL },
- { "U", 600, NULL },
- { "agrave", 600, NULL },
- { "V", 600, NULL },
- { "W", 600, NULL },
- { "X", 600, NULL },
- { "question", 600, NULL },
- { "equal", 600, NULL },
- { "Y", 600, NULL },
- { "Z", 600, NULL },
- { "four", 600, NULL },
- { "a", 600, NULL },
- { "Gcommaaccent", 600, NULL },
- { "b", 600, NULL },
- { "c", 600, NULL },
- { "d", 600, NULL },
- { "e", 600, NULL },
- { "f", 600, NULL },
- { "g", 600, NULL },
- { "bullet", 600, NULL },
- { "h", 600, NULL },
- { "i", 600, NULL },
- { "Oslash", 600, NULL },
- { "dagger", 600, NULL },
- { "j", 600, NULL },
- { "k", 600, NULL },
- { "l", 600, NULL },
- { "m", 600, NULL },
- { "n", 600, NULL },
- { "tcommaaccent", 600, NULL },
- { "o", 600, NULL },
- { "ordfeminine", 600, NULL },
- { "ring", 600, NULL },
- { "p", 600, NULL },
- { "q", 600, NULL },
- { "uhungarumlaut", 600, NULL },
- { "r", 600, NULL },
- { "twosuperior", 600, NULL },
- { "aacute", 600, NULL },
- { "s", 600, NULL },
- { "OE", 600, NULL },
- { "t", 600, NULL },
- { "divide", 600, NULL },
- { "u", 600, NULL },
- { "Ccaron", 600, NULL },
- { "v", 600, NULL },
- { "w", 600, NULL },
- { "x", 600, NULL },
- { "y", 600, NULL },
- { "z", 600, NULL },
- { "Gbreve", 600, NULL },
- { "commaaccent", 600, NULL },
- { "hungarumlaut", 600, NULL },
- { "Idotaccent", 600, NULL },
- { "Nacute", 600, NULL },
- { "quotedbl", 600, NULL },
- { "gcommaaccent", 600, NULL },
- { "mu", 600, NULL },
- { "greaterequal", 600, NULL },
- { "Scaron", 600, NULL },
- { "Lslash", 600, NULL },
- { "semicolon", 600, NULL },
- { "oslash", 600, NULL },
- { "lessequal", 600, NULL },
- { "lozenge", 600, NULL },
- { "parenright", 600, NULL },
- { "ccaron", 600, NULL },
- { "Ecircumflex", 600, NULL },
- { "gbreve", 600, NULL },
- { "trademark", 600, NULL },
- { "daggerdbl", 600, NULL },
- { "nacute", 600, NULL },
- { "macron", 600, NULL },
- { "Otilde", 600, NULL },
- { "Emacron", 600, NULL },
- { "ellipsis", 600, NULL },
- { "scaron", 600, NULL },
- { "AE", 600, NULL },
- { "Ucircumflex", 600, NULL },
- { "lslash", 600, NULL },
- { "quotedblleft", 600, NULL },
- { "guilsinglright", 600, NULL },
- { "hyphen", 600, NULL },
- { "quotesingle", 600, NULL },
- { "eight", 600, NULL },
- { "exclamdown", 600, NULL },
- { "endash", 600, NULL },
- { "oe", 600, NULL },
- { "Abreve", 600, NULL },
- { "Umacron", 600, NULL },
- { "ecircumflex", 600, NULL },
- { "Adieresis", 600, NULL },
- { "copyright", 600, NULL },
- { "Egrave", 600, NULL },
- { "slash", 600, NULL },
- { "Edieresis", 600, NULL },
- { "otilde", 600, NULL },
- { "Idieresis", 600, NULL },
- { "parenleft", 600, NULL },
- { "one", 600, NULL },
- { "emacron", 600, NULL },
- { "Odieresis", 600, NULL },
- { "ucircumflex", 600, NULL },
- { "bracketleft", 600, NULL },
- { "Ugrave", 600, NULL },
- { "quoteright", 600, NULL },
- { "Udieresis", 600, NULL },
- { "perthousand", 600, NULL },
- { "Ydieresis", 600, NULL },
- { "umacron", 600, NULL },
- { "abreve", 600, NULL },
- { "Eacute", 600, NULL },
- { "adieresis", 600, NULL },
- { "egrave", 600, NULL },
- { "edieresis", 600, NULL },
- { "idieresis", 600, NULL },
- { "Eth", 600, NULL },
- { "ae", 600, NULL },
- { "asterisk", 600, NULL },
- { "odieresis", 600, NULL },
- { "Uacute", 600, NULL },
- { "ugrave", 600, NULL },
- { "nine", 600, NULL },
- { "five", 600, NULL },
- { "udieresis", 600, NULL },
- { "Zcaron", 600, NULL },
- { "Scommaaccent", 600, NULL },
- { "threequarters", 600, NULL },
- { "guillemotright", 600, NULL },
- { "Ccedilla", 600, NULL },
- { "ydieresis", 600, NULL },
- { "tilde", 600, NULL },
- { "at", 600, NULL },
- { "eacute", 600, NULL },
- { "underscore", 600, NULL },
- { "Euro", 600, NULL },
- { "Dcroat", 600, NULL },
- { "multiply", 600, NULL },
- { "zero", 600, NULL },
- { "eth", 600, NULL },
- { "Scedilla", 600, NULL },
- { "Ograve", 600, NULL },
- { "Racute", 600, NULL },
- { "partialdiff", 600, NULL },
- { "uacute", 600, NULL },
- { "braceleft", 600, NULL },
- { "Thorn", 600, NULL },
- { "zcaron", 600, NULL },
- { "scommaaccent", 600, NULL },
- { "ccedilla", 600, NULL },
- { "Dcaron", 600, NULL },
- { "dcroat", 600, NULL },
- { "Ocircumflex", 600, NULL },
- { "Oacute", 600, NULL },
- { "scedilla", 600, NULL },
- { "ogonek", 600, NULL },
- { "ograve", 600, NULL },
- { "racute", 600, NULL },
- { "Tcaron", 600, NULL },
- { "Eogonek", 600, NULL },
- { "thorn", 600, NULL },
- { "degree", 600, NULL },
- { "registered", 600, NULL },
- { "radical", 600, NULL },
- { "Aring", 600, NULL },
- { "percent", 600, NULL },
- { "six", 600, NULL },
- { "paragraph", 600, NULL },
- { "dcaron", 600, NULL },
- { "Uogonek", 600, NULL },
- { "two", 600, NULL },
- { "summation", 600, NULL },
- { "Igrave", 600, NULL },
- { "Lacute", 600, NULL },
- { "ocircumflex", 600, NULL },
- { "oacute", 600, NULL },
- { "Uring", 600, NULL },
- { "Lcommaaccent", 600, NULL },
- { "tcaron", 600, NULL },
- { "eogonek", 600, NULL },
- { "Delta", 600, NULL },
- { "Ohungarumlaut", 600, NULL },
- { "asciicircum", 600, NULL },
- { "aring", 600, NULL },
- { "grave", 600, NULL },
- { "uogonek", 600, NULL },
- { "bracketright", 600, NULL },
- { "Iacute", 600, NULL },
- { "ampersand", 600, NULL },
- { "igrave", 600, NULL },
- { "lacute", 600, NULL },
- { "Ncaron", 600, NULL },
- { "plus", 600, NULL },
- { "uring", 600, NULL },
- { "quotesinglbase", 600, NULL },
- { "lcommaaccent", 600, NULL },
- { "Yacute", 600, NULL },
- { "ohungarumlaut", 600, NULL },
- { "threesuperior", 600, NULL },
- { "acute", 600, NULL },
- { "section", 600, NULL },
- { "dieresis", 600, NULL },
- { "iacute", 600, NULL },
- { "quotedblbase", 600, NULL },
- { "ncaron", 600, NULL },
- { "florin", 600, NULL },
- { "yacute", 600, NULL },
- { "Rcommaaccent", 600, NULL },
- { "fi", 600, NULL },
- { "fl", 600, NULL },
- { "Acircumflex", 600, NULL },
- { "Cacute", 600, NULL },
- { "Icircumflex", 600, NULL },
- { "guillemotleft", 600, NULL },
- { "germandbls", 600, NULL },
- { "Amacron", 600, NULL },
- { "seven", 600, NULL },
- { "Sacute", 600, NULL },
- { "ordmasculine", 600, NULL },
- { "dotlessi", 600, NULL },
- { "sterling", 600, NULL },
- { "notequal", 600, NULL },
- { "Imacron", 600, NULL },
- { "rcommaaccent", 600, NULL },
- { "Zdotaccent", 600, NULL },
- { "acircumflex", 600, NULL },
- { "cacute", 600, NULL },
- { "Ecaron", 600, NULL },
- { "icircumflex", 600, NULL },
- { "braceright", 600, NULL },
- { "quotedblright", 600, NULL },
- { "amacron", 600, NULL },
- { "sacute", 600, NULL },
- { "imacron", 600, NULL },
- { "cent", 600, NULL },
- { "currency", 600, NULL },
- { "logicalnot", 600, NULL },
- { "zdotaccent", 600, NULL },
- { "Atilde", 600, NULL },
- { "breve", 600, NULL },
- { "bar", 600, NULL },
- { "fraction", 600, NULL },
- { "less", 600, NULL },
- { "ecaron", 600, NULL },
- { "guilsinglleft", 600, NULL },
- { "exclam", 600, NULL },
- { "period", 600, NULL },
- { "Rcaron", 600, NULL },
- { "Kcommaaccent", 600, NULL },
- { "greater", 600, NULL },
- { "atilde", 600, NULL },
- { "brokenbar", 600, NULL },
- { "quoteleft", 600, NULL },
- { "Edotaccent", 600, NULL },
- { "onesuperior", 600, NULL }
+ { "Ntilde", 600, nullptr },
+ { "rcaron", 600, nullptr },
+ { "kcommaaccent", 600, nullptr },
+ { "Ncommaaccent", 600, nullptr },
+ { "Zacute", 600, nullptr },
+ { "comma", 600, nullptr },
+ { "cedilla", 600, nullptr },
+ { "plusminus", 600, nullptr },
+ { "circumflex", 600, nullptr },
+ { "dotaccent", 600, nullptr },
+ { "edotaccent", 600, nullptr },
+ { "asciitilde", 600, nullptr },
+ { "colon", 600, nullptr },
+ { "onehalf", 600, nullptr },
+ { "dollar", 600, nullptr },
+ { "Lcaron", 600, nullptr },
+ { "ntilde", 600, nullptr },
+ { "Aogonek", 600, nullptr },
+ { "ncommaaccent", 600, nullptr },
+ { "minus", 600, nullptr },
+ { "Iogonek", 600, nullptr },
+ { "zacute", 600, nullptr },
+ { "yen", 600, nullptr },
+ { "space", 600, nullptr },
+ { "Omacron", 600, nullptr },
+ { "questiondown", 600, nullptr },
+ { "emdash", 600, nullptr },
+ { "Agrave", 600, nullptr },
+ { "three", 600, nullptr },
+ { "numbersign", 600, nullptr },
+ { "lcaron", 600, nullptr },
+ { "A", 600, nullptr },
+ { "B", 600, nullptr },
+ { "C", 600, nullptr },
+ { "aogonek", 600, nullptr },
+ { "D", 600, nullptr },
+ { "E", 600, nullptr },
+ { "onequarter", 600, nullptr },
+ { "F", 600, nullptr },
+ { "G", 600, nullptr },
+ { "H", 600, nullptr },
+ { "I", 600, nullptr },
+ { "J", 600, nullptr },
+ { "K", 600, nullptr },
+ { "iogonek", 600, nullptr },
+ { "backslash", 600, nullptr },
+ { "L", 600, nullptr },
+ { "periodcentered", 600, nullptr },
+ { "M", 600, nullptr },
+ { "N", 600, nullptr },
+ { "omacron", 600, nullptr },
+ { "Tcommaaccent", 600, nullptr },
+ { "O", 600, nullptr },
+ { "P", 600, nullptr },
+ { "Q", 600, nullptr },
+ { "Uhungarumlaut", 600, nullptr },
+ { "R", 600, nullptr },
+ { "Aacute", 600, nullptr },
+ { "caron", 600, nullptr },
+ { "S", 600, nullptr },
+ { "T", 600, nullptr },
+ { "U", 600, nullptr },
+ { "agrave", 600, nullptr },
+ { "V", 600, nullptr },
+ { "W", 600, nullptr },
+ { "X", 600, nullptr },
+ { "question", 600, nullptr },
+ { "equal", 600, nullptr },
+ { "Y", 600, nullptr },
+ { "Z", 600, nullptr },
+ { "four", 600, nullptr },
+ { "a", 600, nullptr },
+ { "Gcommaaccent", 600, nullptr },
+ { "b", 600, nullptr },
+ { "c", 600, nullptr },
+ { "d", 600, nullptr },
+ { "e", 600, nullptr },
+ { "f", 600, nullptr },
+ { "g", 600, nullptr },
+ { "bullet", 600, nullptr },
+ { "h", 600, nullptr },
+ { "i", 600, nullptr },
+ { "Oslash", 600, nullptr },
+ { "dagger", 600, nullptr },
+ { "j", 600, nullptr },
+ { "k", 600, nullptr },
+ { "l", 600, nullptr },
+ { "m", 600, nullptr },
+ { "n", 600, nullptr },
+ { "tcommaaccent", 600, nullptr },
+ { "o", 600, nullptr },
+ { "ordfeminine", 600, nullptr },
+ { "ring", 600, nullptr },
+ { "p", 600, nullptr },
+ { "q", 600, nullptr },
+ { "uhungarumlaut", 600, nullptr },
+ { "r", 600, nullptr },
+ { "twosuperior", 600, nullptr },
+ { "aacute", 600, nullptr },
+ { "s", 600, nullptr },
+ { "OE", 600, nullptr },
+ { "t", 600, nullptr },
+ { "divide", 600, nullptr },
+ { "u", 600, nullptr },
+ { "Ccaron", 600, nullptr },
+ { "v", 600, nullptr },
+ { "w", 600, nullptr },
+ { "x", 600, nullptr },
+ { "y", 600, nullptr },
+ { "z", 600, nullptr },
+ { "Gbreve", 600, nullptr },
+ { "commaaccent", 600, nullptr },
+ { "hungarumlaut", 600, nullptr },
+ { "Idotaccent", 600, nullptr },
+ { "Nacute", 600, nullptr },
+ { "quotedbl", 600, nullptr },
+ { "gcommaaccent", 600, nullptr },
+ { "mu", 600, nullptr },
+ { "greaterequal", 600, nullptr },
+ { "Scaron", 600, nullptr },
+ { "Lslash", 600, nullptr },
+ { "semicolon", 600, nullptr },
+ { "oslash", 600, nullptr },
+ { "lessequal", 600, nullptr },
+ { "lozenge", 600, nullptr },
+ { "parenright", 600, nullptr },
+ { "ccaron", 600, nullptr },
+ { "Ecircumflex", 600, nullptr },
+ { "gbreve", 600, nullptr },
+ { "trademark", 600, nullptr },
+ { "daggerdbl", 600, nullptr },
+ { "nacute", 600, nullptr },
+ { "macron", 600, nullptr },
+ { "Otilde", 600, nullptr },
+ { "Emacron", 600, nullptr },
+ { "ellipsis", 600, nullptr },
+ { "scaron", 600, nullptr },
+ { "AE", 600, nullptr },
+ { "Ucircumflex", 600, nullptr },
+ { "lslash", 600, nullptr },
+ { "quotedblleft", 600, nullptr },
+ { "guilsinglright", 600, nullptr },
+ { "hyphen", 600, nullptr },
+ { "quotesingle", 600, nullptr },
+ { "eight", 600, nullptr },
+ { "exclamdown", 600, nullptr },
+ { "endash", 600, nullptr },
+ { "oe", 600, nullptr },
+ { "Abreve", 600, nullptr },
+ { "Umacron", 600, nullptr },
+ { "ecircumflex", 600, nullptr },
+ { "Adieresis", 600, nullptr },
+ { "copyright", 600, nullptr },
+ { "Egrave", 600, nullptr },
+ { "slash", 600, nullptr },
+ { "Edieresis", 600, nullptr },
+ { "otilde", 600, nullptr },
+ { "Idieresis", 600, nullptr },
+ { "parenleft", 600, nullptr },
+ { "one", 600, nullptr },
+ { "emacron", 600, nullptr },
+ { "Odieresis", 600, nullptr },
+ { "ucircumflex", 600, nullptr },
+ { "bracketleft", 600, nullptr },
+ { "Ugrave", 600, nullptr },
+ { "quoteright", 600, nullptr },
+ { "Udieresis", 600, nullptr },
+ { "perthousand", 600, nullptr },
+ { "Ydieresis", 600, nullptr },
+ { "umacron", 600, nullptr },
+ { "abreve", 600, nullptr },
+ { "Eacute", 600, nullptr },
+ { "adieresis", 600, nullptr },
+ { "egrave", 600, nullptr },
+ { "edieresis", 600, nullptr },
+ { "idieresis", 600, nullptr },
+ { "Eth", 600, nullptr },
+ { "ae", 600, nullptr },
+ { "asterisk", 600, nullptr },
+ { "odieresis", 600, nullptr },
+ { "Uacute", 600, nullptr },
+ { "ugrave", 600, nullptr },
+ { "nine", 600, nullptr },
+ { "five", 600, nullptr },
+ { "udieresis", 600, nullptr },
+ { "Zcaron", 600, nullptr },
+ { "Scommaaccent", 600, nullptr },
+ { "threequarters", 600, nullptr },
+ { "guillemotright", 600, nullptr },
+ { "Ccedilla", 600, nullptr },
+ { "ydieresis", 600, nullptr },
+ { "tilde", 600, nullptr },
+ { "at", 600, nullptr },
+ { "eacute", 600, nullptr },
+ { "underscore", 600, nullptr },
+ { "Euro", 600, nullptr },
+ { "Dcroat", 600, nullptr },
+ { "multiply", 600, nullptr },
+ { "zero", 600, nullptr },
+ { "eth", 600, nullptr },
+ { "Scedilla", 600, nullptr },
+ { "Ograve", 600, nullptr },
+ { "Racute", 600, nullptr },
+ { "partialdiff", 600, nullptr },
+ { "uacute", 600, nullptr },
+ { "braceleft", 600, nullptr },
+ { "Thorn", 600, nullptr },
+ { "zcaron", 600, nullptr },
+ { "scommaaccent", 600, nullptr },
+ { "ccedilla", 600, nullptr },
+ { "Dcaron", 600, nullptr },
+ { "dcroat", 600, nullptr },
+ { "Ocircumflex", 600, nullptr },
+ { "Oacute", 600, nullptr },
+ { "scedilla", 600, nullptr },
+ { "ogonek", 600, nullptr },
+ { "ograve", 600, nullptr },
+ { "racute", 600, nullptr },
+ { "Tcaron", 600, nullptr },
+ { "Eogonek", 600, nullptr },
+ { "thorn", 600, nullptr },
+ { "degree", 600, nullptr },
+ { "registered", 600, nullptr },
+ { "radical", 600, nullptr },
+ { "Aring", 600, nullptr },
+ { "percent", 600, nullptr },
+ { "six", 600, nullptr },
+ { "paragraph", 600, nullptr },
+ { "dcaron", 600, nullptr },
+ { "Uogonek", 600, nullptr },
+ { "two", 600, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 600, nullptr },
+ { "Lacute", 600, nullptr },
+ { "ocircumflex", 600, nullptr },
+ { "oacute", 600, nullptr },
+ { "Uring", 600, nullptr },
+ { "Lcommaaccent", 600, nullptr },
+ { "tcaron", 600, nullptr },
+ { "eogonek", 600, nullptr },
+ { "Delta", 600, nullptr },
+ { "Ohungarumlaut", 600, nullptr },
+ { "asciicircum", 600, nullptr },
+ { "aring", 600, nullptr },
+ { "grave", 600, nullptr },
+ { "uogonek", 600, nullptr },
+ { "bracketright", 600, nullptr },
+ { "Iacute", 600, nullptr },
+ { "ampersand", 600, nullptr },
+ { "igrave", 600, nullptr },
+ { "lacute", 600, nullptr },
+ { "Ncaron", 600, nullptr },
+ { "plus", 600, nullptr },
+ { "uring", 600, nullptr },
+ { "quotesinglbase", 600, nullptr },
+ { "lcommaaccent", 600, nullptr },
+ { "Yacute", 600, nullptr },
+ { "ohungarumlaut", 600, nullptr },
+ { "threesuperior", 600, nullptr },
+ { "acute", 600, nullptr },
+ { "section", 600, nullptr },
+ { "dieresis", 600, nullptr },
+ { "iacute", 600, nullptr },
+ { "quotedblbase", 600, nullptr },
+ { "ncaron", 600, nullptr },
+ { "florin", 600, nullptr },
+ { "yacute", 600, nullptr },
+ { "Rcommaaccent", 600, nullptr },
+ { "fi", 600, nullptr },
+ { "fl", 600, nullptr },
+ { "Acircumflex", 600, nullptr },
+ { "Cacute", 600, nullptr },
+ { "Icircumflex", 600, nullptr },
+ { "guillemotleft", 600, nullptr },
+ { "germandbls", 600, nullptr },
+ { "Amacron", 600, nullptr },
+ { "seven", 600, nullptr },
+ { "Sacute", 600, nullptr },
+ { "ordmasculine", 600, nullptr },
+ { "dotlessi", 600, nullptr },
+ { "sterling", 600, nullptr },
+ { "notequal", 600, nullptr },
+ { "Imacron", 600, nullptr },
+ { "rcommaaccent", 600, nullptr },
+ { "Zdotaccent", 600, nullptr },
+ { "acircumflex", 600, nullptr },
+ { "cacute", 600, nullptr },
+ { "Ecaron", 600, nullptr },
+ { "icircumflex", 600, nullptr },
+ { "braceright", 600, nullptr },
+ { "quotedblright", 600, nullptr },
+ { "amacron", 600, nullptr },
+ { "sacute", 600, nullptr },
+ { "imacron", 600, nullptr },
+ { "cent", 600, nullptr },
+ { "currency", 600, nullptr },
+ { "logicalnot", 600, nullptr },
+ { "zdotaccent", 600, nullptr },
+ { "Atilde", 600, nullptr },
+ { "breve", 600, nullptr },
+ { "bar", 600, nullptr },
+ { "fraction", 600, nullptr },
+ { "less", 600, nullptr },
+ { "ecaron", 600, nullptr },
+ { "guilsinglleft", 600, nullptr },
+ { "exclam", 600, nullptr },
+ { "period", 600, nullptr },
+ { "Rcaron", 600, nullptr },
+ { "Kcommaaccent", 600, nullptr },
+ { "greater", 600, nullptr },
+ { "atilde", 600, nullptr },
+ { "brokenbar", 600, nullptr },
+ { "quoteleft", 600, nullptr },
+ { "Edotaccent", 600, nullptr },
+ { "onesuperior", 600, nullptr }
};
static BuiltinFontWidth helveticaWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 333, NULL },
- { "kcommaaccent", 500, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 611, NULL },
- { "comma", 278, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 584, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 556, NULL },
- { "asciitilde", 584, NULL },
- { "colon", 278, NULL },
- { "onehalf", 834, NULL },
- { "dollar", 556, NULL },
- { "Lcaron", 556, NULL },
- { "ntilde", 556, NULL },
- { "Aogonek", 667, NULL },
- { "ncommaaccent", 556, NULL },
- { "minus", 584, NULL },
- { "Iogonek", 278, NULL },
- { "zacute", 500, NULL },
- { "yen", 556, NULL },
- { "space", 278, NULL },
- { "Omacron", 778, NULL },
- { "questiondown", 611, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 667, NULL },
- { "three", 556, NULL },
- { "numbersign", 556, NULL },
- { "lcaron", 299, NULL },
- { "A", 667, NULL },
- { "B", 667, NULL },
- { "C", 722, NULL },
- { "aogonek", 556, NULL },
- { "D", 722, NULL },
- { "E", 667, NULL },
- { "onequarter", 834, NULL },
- { "F", 611, NULL },
- { "G", 778, NULL },
- { "H", 722, NULL },
- { "I", 278, NULL },
- { "J", 500, NULL },
- { "K", 667, NULL },
- { "iogonek", 222, NULL },
- { "backslash", 278, NULL },
- { "L", 556, NULL },
- { "periodcentered", 278, NULL },
- { "M", 833, NULL },
- { "N", 722, NULL },
- { "omacron", 556, NULL },
- { "Tcommaaccent", 611, NULL },
- { "O", 778, NULL },
- { "P", 667, NULL },
- { "Q", 778, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 722, NULL },
- { "Aacute", 667, NULL },
- { "caron", 333, NULL },
- { "S", 667, NULL },
- { "T", 611, NULL },
- { "U", 722, NULL },
- { "agrave", 556, NULL },
- { "V", 667, NULL },
- { "W", 944, NULL },
- { "X", 667, NULL },
- { "question", 556, NULL },
- { "equal", 584, NULL },
- { "Y", 667, NULL },
- { "Z", 611, NULL },
- { "four", 556, NULL },
- { "a", 556, NULL },
- { "Gcommaaccent", 778, NULL },
- { "b", 556, NULL },
- { "c", 500, NULL },
- { "d", 556, NULL },
- { "e", 556, NULL },
- { "f", 278, NULL },
- { "g", 556, NULL },
- { "bullet", 350, NULL },
- { "h", 556, NULL },
- { "i", 222, NULL },
- { "Oslash", 778, NULL },
- { "dagger", 556, NULL },
- { "j", 222, NULL },
- { "k", 500, NULL },
- { "l", 222, NULL },
- { "m", 833, NULL },
- { "n", 556, NULL },
- { "tcommaaccent", 278, NULL },
- { "o", 556, NULL },
- { "ordfeminine", 370, NULL },
- { "ring", 333, NULL },
- { "p", 556, NULL },
- { "q", 556, NULL },
- { "uhungarumlaut", 556, NULL },
- { "r", 333, NULL },
- { "twosuperior", 333, NULL },
- { "aacute", 556, NULL },
- { "s", 500, NULL },
- { "OE", 1000, NULL },
- { "t", 278, NULL },
- { "divide", 584, NULL },
- { "u", 556, NULL },
- { "Ccaron", 722, NULL },
- { "v", 500, NULL },
- { "w", 722, NULL },
- { "x", 500, NULL },
- { "y", 500, NULL },
- { "z", 500, NULL },
- { "Gbreve", 778, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 278, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 355, NULL },
- { "gcommaaccent", 556, NULL },
- { "mu", 556, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 667, NULL },
- { "Lslash", 556, NULL },
- { "semicolon", 278, NULL },
- { "oslash", 611, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 471, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 500, NULL },
- { "Ecircumflex", 667, NULL },
- { "gbreve", 556, NULL },
- { "trademark", 1000, NULL },
- { "daggerdbl", 556, NULL },
- { "nacute", 556, NULL },
- { "macron", 333, NULL },
- { "Otilde", 778, NULL },
- { "Emacron", 667, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 500, NULL },
- { "AE", 1000, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 222, NULL },
- { "quotedblleft", 333, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 191, NULL },
- { "eight", 556, NULL },
- { "exclamdown", 333, NULL },
- { "endash", 556, NULL },
- { "oe", 944, NULL },
- { "Abreve", 667, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 556, NULL },
- { "Adieresis", 667, NULL },
- { "copyright", 737, NULL },
- { "Egrave", 667, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 667, NULL },
- { "otilde", 556, NULL },
- { "Idieresis", 278, NULL },
- { "parenleft", 333, NULL },
- { "one", 556, NULL },
- { "emacron", 556, NULL },
- { "Odieresis", 778, NULL },
- { "ucircumflex", 556, NULL },
- { "bracketleft", 278, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 222, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 667, NULL },
- { "umacron", 556, NULL },
- { "abreve", 556, NULL },
- { "Eacute", 667, NULL },
- { "adieresis", 556, NULL },
- { "egrave", 556, NULL },
- { "edieresis", 556, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 889, NULL },
- { "asterisk", 389, NULL },
- { "odieresis", 556, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 556, NULL },
- { "nine", 556, NULL },
- { "five", 556, NULL },
- { "udieresis", 556, NULL },
- { "Zcaron", 611, NULL },
- { "Scommaaccent", 667, NULL },
- { "threequarters", 834, NULL },
- { "guillemotright", 556, NULL },
- { "Ccedilla", 722, NULL },
- { "ydieresis", 500, NULL },
- { "tilde", 333, NULL },
- { "at", 1015, NULL },
- { "eacute", 556, NULL },
- { "underscore", 556, NULL },
- { "Euro", 556, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 584, NULL },
- { "zero", 556, NULL },
- { "eth", 556, NULL },
- { "Scedilla", 667, NULL },
- { "Ograve", 778, NULL },
- { "Racute", 722, NULL },
- { "partialdiff", 476, NULL },
- { "uacute", 556, NULL },
- { "braceleft", 334, NULL },
- { "Thorn", 667, NULL },
- { "zcaron", 500, NULL },
- { "scommaaccent", 500, NULL },
- { "ccedilla", 500, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 556, NULL },
- { "Ocircumflex", 778, NULL },
- { "Oacute", 778, NULL },
- { "scedilla", 500, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 556, NULL },
- { "racute", 333, NULL },
- { "Tcaron", 611, NULL },
- { "Eogonek", 667, NULL },
- { "thorn", 556, NULL },
- { "degree", 400, NULL },
- { "registered", 737, NULL },
- { "radical", 453, NULL },
- { "Aring", 667, NULL },
- { "percent", 889, NULL },
- { "six", 556, NULL },
- { "paragraph", 537, NULL },
- { "dcaron", 643, NULL },
- { "Uogonek", 722, NULL },
- { "two", 556, NULL },
- { "summation", 600, NULL },
- { "Igrave", 278, NULL },
- { "Lacute", 556, NULL },
- { "ocircumflex", 556, NULL },
- { "oacute", 556, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 556, NULL },
- { "tcaron", 317, NULL },
- { "eogonek", 556, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 778, NULL },
- { "asciicircum", 469, NULL },
- { "aring", 556, NULL },
- { "grave", 333, NULL },
- { "uogonek", 556, NULL },
- { "bracketright", 278, NULL },
- { "Iacute", 278, NULL },
- { "ampersand", 667, NULL },
- { "igrave", 278, NULL },
- { "lacute", 222, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 584, NULL },
- { "uring", 556, NULL },
- { "quotesinglbase", 222, NULL },
- { "lcommaaccent", 222, NULL },
- { "Yacute", 667, NULL },
- { "ohungarumlaut", 556, NULL },
- { "threesuperior", 333, NULL },
- { "acute", 333, NULL },
- { "section", 556, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 333, NULL },
- { "ncaron", 556, NULL },
- { "florin", 556, NULL },
- { "yacute", 500, NULL },
- { "Rcommaaccent", 722, NULL },
- { "fi", 500, NULL },
- { "fl", 500, NULL },
- { "Acircumflex", 667, NULL },
- { "Cacute", 722, NULL },
- { "Icircumflex", 278, NULL },
- { "guillemotleft", 556, NULL },
- { "germandbls", 611, NULL },
- { "Amacron", 667, NULL },
- { "seven", 556, NULL },
- { "Sacute", 667, NULL },
- { "ordmasculine", 365, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 556, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 278, NULL },
- { "rcommaaccent", 333, NULL },
- { "Zdotaccent", 611, NULL },
- { "acircumflex", 556, NULL },
- { "cacute", 500, NULL },
- { "Ecaron", 667, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 334, NULL },
- { "quotedblright", 333, NULL },
- { "amacron", 556, NULL },
- { "sacute", 500, NULL },
- { "imacron", 278, NULL },
- { "cent", 556, NULL },
- { "currency", 556, NULL },
- { "logicalnot", 584, NULL },
- { "zdotaccent", 500, NULL },
- { "Atilde", 667, NULL },
- { "breve", 333, NULL },
- { "bar", 260, NULL },
- { "fraction", 167, NULL },
- { "less", 584, NULL },
- { "ecaron", 556, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 278, NULL },
- { "period", 278, NULL },
- { "Rcaron", 722, NULL },
- { "Kcommaaccent", 667, NULL },
- { "greater", 584, NULL },
- { "atilde", 556, NULL },
- { "brokenbar", 260, NULL },
- { "quoteleft", 222, NULL },
- { "Edotaccent", 667, NULL },
- { "onesuperior", 333, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 333, nullptr },
+ { "kcommaaccent", 500, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 611, nullptr },
+ { "comma", 278, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 584, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 556, nullptr },
+ { "asciitilde", 584, nullptr },
+ { "colon", 278, nullptr },
+ { "onehalf", 834, nullptr },
+ { "dollar", 556, nullptr },
+ { "Lcaron", 556, nullptr },
+ { "ntilde", 556, nullptr },
+ { "Aogonek", 667, nullptr },
+ { "ncommaaccent", 556, nullptr },
+ { "minus", 584, nullptr },
+ { "Iogonek", 278, nullptr },
+ { "zacute", 500, nullptr },
+ { "yen", 556, nullptr },
+ { "space", 278, nullptr },
+ { "Omacron", 778, nullptr },
+ { "questiondown", 611, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 667, nullptr },
+ { "three", 556, nullptr },
+ { "numbersign", 556, nullptr },
+ { "lcaron", 299, nullptr },
+ { "A", 667, nullptr },
+ { "B", 667, nullptr },
+ { "C", 722, nullptr },
+ { "aogonek", 556, nullptr },
+ { "D", 722, nullptr },
+ { "E", 667, nullptr },
+ { "onequarter", 834, nullptr },
+ { "F", 611, nullptr },
+ { "G", 778, nullptr },
+ { "H", 722, nullptr },
+ { "I", 278, nullptr },
+ { "J", 500, nullptr },
+ { "K", 667, nullptr },
+ { "iogonek", 222, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 556, nullptr },
+ { "periodcentered", 278, nullptr },
+ { "M", 833, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 556, nullptr },
+ { "Tcommaaccent", 611, nullptr },
+ { "O", 778, nullptr },
+ { "P", 667, nullptr },
+ { "Q", 778, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 722, nullptr },
+ { "Aacute", 667, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 667, nullptr },
+ { "T", 611, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 556, nullptr },
+ { "V", 667, nullptr },
+ { "W", 944, nullptr },
+ { "X", 667, nullptr },
+ { "question", 556, nullptr },
+ { "equal", 584, nullptr },
+ { "Y", 667, nullptr },
+ { "Z", 611, nullptr },
+ { "four", 556, nullptr },
+ { "a", 556, nullptr },
+ { "Gcommaaccent", 778, nullptr },
+ { "b", 556, nullptr },
+ { "c", 500, nullptr },
+ { "d", 556, nullptr },
+ { "e", 556, nullptr },
+ { "f", 278, nullptr },
+ { "g", 556, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 556, nullptr },
+ { "i", 222, nullptr },
+ { "Oslash", 778, nullptr },
+ { "dagger", 556, nullptr },
+ { "j", 222, nullptr },
+ { "k", 500, nullptr },
+ { "l", 222, nullptr },
+ { "m", 833, nullptr },
+ { "n", 556, nullptr },
+ { "tcommaaccent", 278, nullptr },
+ { "o", 556, nullptr },
+ { "ordfeminine", 370, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 556, nullptr },
+ { "q", 556, nullptr },
+ { "uhungarumlaut", 556, nullptr },
+ { "r", 333, nullptr },
+ { "twosuperior", 333, nullptr },
+ { "aacute", 556, nullptr },
+ { "s", 500, nullptr },
+ { "OE", 1000, nullptr },
+ { "t", 278, nullptr },
+ { "divide", 584, nullptr },
+ { "u", 556, nullptr },
+ { "Ccaron", 722, nullptr },
+ { "v", 500, nullptr },
+ { "w", 722, nullptr },
+ { "x", 500, nullptr },
+ { "y", 500, nullptr },
+ { "z", 500, nullptr },
+ { "Gbreve", 778, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 278, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 355, nullptr },
+ { "gcommaaccent", 556, nullptr },
+ { "mu", 556, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 667, nullptr },
+ { "Lslash", 556, nullptr },
+ { "semicolon", 278, nullptr },
+ { "oslash", 611, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 471, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 500, nullptr },
+ { "Ecircumflex", 667, nullptr },
+ { "gbreve", 556, nullptr },
+ { "trademark", 1000, nullptr },
+ { "daggerdbl", 556, nullptr },
+ { "nacute", 556, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 778, nullptr },
+ { "Emacron", 667, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 500, nullptr },
+ { "AE", 1000, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 222, nullptr },
+ { "quotedblleft", 333, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 191, nullptr },
+ { "eight", 556, nullptr },
+ { "exclamdown", 333, nullptr },
+ { "endash", 556, nullptr },
+ { "oe", 944, nullptr },
+ { "Abreve", 667, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 556, nullptr },
+ { "Adieresis", 667, nullptr },
+ { "copyright", 737, nullptr },
+ { "Egrave", 667, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 667, nullptr },
+ { "otilde", 556, nullptr },
+ { "Idieresis", 278, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 556, nullptr },
+ { "emacron", 556, nullptr },
+ { "Odieresis", 778, nullptr },
+ { "ucircumflex", 556, nullptr },
+ { "bracketleft", 278, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 222, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 667, nullptr },
+ { "umacron", 556, nullptr },
+ { "abreve", 556, nullptr },
+ { "Eacute", 667, nullptr },
+ { "adieresis", 556, nullptr },
+ { "egrave", 556, nullptr },
+ { "edieresis", 556, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 889, nullptr },
+ { "asterisk", 389, nullptr },
+ { "odieresis", 556, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 556, nullptr },
+ { "nine", 556, nullptr },
+ { "five", 556, nullptr },
+ { "udieresis", 556, nullptr },
+ { "Zcaron", 611, nullptr },
+ { "Scommaaccent", 667, nullptr },
+ { "threequarters", 834, nullptr },
+ { "guillemotright", 556, nullptr },
+ { "Ccedilla", 722, nullptr },
+ { "ydieresis", 500, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 1015, nullptr },
+ { "eacute", 556, nullptr },
+ { "underscore", 556, nullptr },
+ { "Euro", 556, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 584, nullptr },
+ { "zero", 556, nullptr },
+ { "eth", 556, nullptr },
+ { "Scedilla", 667, nullptr },
+ { "Ograve", 778, nullptr },
+ { "Racute", 722, nullptr },
+ { "partialdiff", 476, nullptr },
+ { "uacute", 556, nullptr },
+ { "braceleft", 334, nullptr },
+ { "Thorn", 667, nullptr },
+ { "zcaron", 500, nullptr },
+ { "scommaaccent", 500, nullptr },
+ { "ccedilla", 500, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 556, nullptr },
+ { "Ocircumflex", 778, nullptr },
+ { "Oacute", 778, nullptr },
+ { "scedilla", 500, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 556, nullptr },
+ { "racute", 333, nullptr },
+ { "Tcaron", 611, nullptr },
+ { "Eogonek", 667, nullptr },
+ { "thorn", 556, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 737, nullptr },
+ { "radical", 453, nullptr },
+ { "Aring", 667, nullptr },
+ { "percent", 889, nullptr },
+ { "six", 556, nullptr },
+ { "paragraph", 537, nullptr },
+ { "dcaron", 643, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 556, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 278, nullptr },
+ { "Lacute", 556, nullptr },
+ { "ocircumflex", 556, nullptr },
+ { "oacute", 556, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 556, nullptr },
+ { "tcaron", 317, nullptr },
+ { "eogonek", 556, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 778, nullptr },
+ { "asciicircum", 469, nullptr },
+ { "aring", 556, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 556, nullptr },
+ { "bracketright", 278, nullptr },
+ { "Iacute", 278, nullptr },
+ { "ampersand", 667, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 222, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 584, nullptr },
+ { "uring", 556, nullptr },
+ { "quotesinglbase", 222, nullptr },
+ { "lcommaaccent", 222, nullptr },
+ { "Yacute", 667, nullptr },
+ { "ohungarumlaut", 556, nullptr },
+ { "threesuperior", 333, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 556, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 333, nullptr },
+ { "ncaron", 556, nullptr },
+ { "florin", 556, nullptr },
+ { "yacute", 500, nullptr },
+ { "Rcommaaccent", 722, nullptr },
+ { "fi", 500, nullptr },
+ { "fl", 500, nullptr },
+ { "Acircumflex", 667, nullptr },
+ { "Cacute", 722, nullptr },
+ { "Icircumflex", 278, nullptr },
+ { "guillemotleft", 556, nullptr },
+ { "germandbls", 611, nullptr },
+ { "Amacron", 667, nullptr },
+ { "seven", 556, nullptr },
+ { "Sacute", 667, nullptr },
+ { "ordmasculine", 365, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 556, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 278, nullptr },
+ { "rcommaaccent", 333, nullptr },
+ { "Zdotaccent", 611, nullptr },
+ { "acircumflex", 556, nullptr },
+ { "cacute", 500, nullptr },
+ { "Ecaron", 667, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 334, nullptr },
+ { "quotedblright", 333, nullptr },
+ { "amacron", 556, nullptr },
+ { "sacute", 500, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 556, nullptr },
+ { "currency", 556, nullptr },
+ { "logicalnot", 584, nullptr },
+ { "zdotaccent", 500, nullptr },
+ { "Atilde", 667, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 260, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 584, nullptr },
+ { "ecaron", 556, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 278, nullptr },
+ { "period", 278, nullptr },
+ { "Rcaron", 722, nullptr },
+ { "Kcommaaccent", 667, nullptr },
+ { "greater", 584, nullptr },
+ { "atilde", 556, nullptr },
+ { "brokenbar", 260, nullptr },
+ { "quoteleft", 222, nullptr },
+ { "Edotaccent", 667, nullptr },
+ { "onesuperior", 333, nullptr }
};
static BuiltinFontWidth helveticaBoldWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 389, NULL },
- { "kcommaaccent", 556, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 611, NULL },
- { "comma", 278, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 584, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 556, NULL },
- { "asciitilde", 584, NULL },
- { "colon", 333, NULL },
- { "onehalf", 834, NULL },
- { "dollar", 556, NULL },
- { "Lcaron", 611, NULL },
- { "ntilde", 611, NULL },
- { "Aogonek", 722, NULL },
- { "ncommaaccent", 611, NULL },
- { "minus", 584, NULL },
- { "Iogonek", 278, NULL },
- { "zacute", 500, NULL },
- { "yen", 556, NULL },
- { "space", 278, NULL },
- { "Omacron", 778, NULL },
- { "questiondown", 611, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 722, NULL },
- { "three", 556, NULL },
- { "numbersign", 556, NULL },
- { "lcaron", 400, NULL },
- { "A", 722, NULL },
- { "B", 722, NULL },
- { "C", 722, NULL },
- { "aogonek", 556, NULL },
- { "D", 722, NULL },
- { "E", 667, NULL },
- { "onequarter", 834, NULL },
- { "F", 611, NULL },
- { "G", 778, NULL },
- { "H", 722, NULL },
- { "I", 278, NULL },
- { "J", 556, NULL },
- { "K", 722, NULL },
- { "iogonek", 278, NULL },
- { "backslash", 278, NULL },
- { "L", 611, NULL },
- { "periodcentered", 278, NULL },
- { "M", 833, NULL },
- { "N", 722, NULL },
- { "omacron", 611, NULL },
- { "Tcommaaccent", 611, NULL },
- { "O", 778, NULL },
- { "P", 667, NULL },
- { "Q", 778, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 722, NULL },
- { "Aacute", 722, NULL },
- { "caron", 333, NULL },
- { "S", 667, NULL },
- { "T", 611, NULL },
- { "U", 722, NULL },
- { "agrave", 556, NULL },
- { "V", 667, NULL },
- { "W", 944, NULL },
- { "X", 667, NULL },
- { "question", 611, NULL },
- { "equal", 584, NULL },
- { "Y", 667, NULL },
- { "Z", 611, NULL },
- { "four", 556, NULL },
- { "a", 556, NULL },
- { "Gcommaaccent", 778, NULL },
- { "b", 611, NULL },
- { "c", 556, NULL },
- { "d", 611, NULL },
- { "e", 556, NULL },
- { "f", 333, NULL },
- { "g", 611, NULL },
- { "bullet", 350, NULL },
- { "h", 611, NULL },
- { "i", 278, NULL },
- { "Oslash", 778, NULL },
- { "dagger", 556, NULL },
- { "j", 278, NULL },
- { "k", 556, NULL },
- { "l", 278, NULL },
- { "m", 889, NULL },
- { "n", 611, NULL },
- { "tcommaaccent", 333, NULL },
- { "o", 611, NULL },
- { "ordfeminine", 370, NULL },
- { "ring", 333, NULL },
- { "p", 611, NULL },
- { "q", 611, NULL },
- { "uhungarumlaut", 611, NULL },
- { "r", 389, NULL },
- { "twosuperior", 333, NULL },
- { "aacute", 556, NULL },
- { "s", 556, NULL },
- { "OE", 1000, NULL },
- { "t", 333, NULL },
- { "divide", 584, NULL },
- { "u", 611, NULL },
- { "Ccaron", 722, NULL },
- { "v", 556, NULL },
- { "w", 778, NULL },
- { "x", 556, NULL },
- { "y", 556, NULL },
- { "z", 500, NULL },
- { "Gbreve", 778, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 278, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 474, NULL },
- { "gcommaaccent", 611, NULL },
- { "mu", 611, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 667, NULL },
- { "Lslash", 611, NULL },
- { "semicolon", 333, NULL },
- { "oslash", 611, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 494, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 556, NULL },
- { "Ecircumflex", 667, NULL },
- { "gbreve", 611, NULL },
- { "trademark", 1000, NULL },
- { "daggerdbl", 556, NULL },
- { "nacute", 611, NULL },
- { "macron", 333, NULL },
- { "Otilde", 778, NULL },
- { "Emacron", 667, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 556, NULL },
- { "AE", 1000, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 278, NULL },
- { "quotedblleft", 500, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 238, NULL },
- { "eight", 556, NULL },
- { "exclamdown", 333, NULL },
- { "endash", 556, NULL },
- { "oe", 944, NULL },
- { "Abreve", 722, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 556, NULL },
- { "Adieresis", 722, NULL },
- { "copyright", 737, NULL },
- { "Egrave", 667, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 667, NULL },
- { "otilde", 611, NULL },
- { "Idieresis", 278, NULL },
- { "parenleft", 333, NULL },
- { "one", 556, NULL },
- { "emacron", 556, NULL },
- { "Odieresis", 778, NULL },
- { "ucircumflex", 611, NULL },
- { "bracketleft", 333, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 278, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 667, NULL },
- { "umacron", 611, NULL },
- { "abreve", 556, NULL },
- { "Eacute", 667, NULL },
- { "adieresis", 556, NULL },
- { "egrave", 556, NULL },
- { "edieresis", 556, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 889, NULL },
- { "asterisk", 389, NULL },
- { "odieresis", 611, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 611, NULL },
- { "nine", 556, NULL },
- { "five", 556, NULL },
- { "udieresis", 611, NULL },
- { "Zcaron", 611, NULL },
- { "Scommaaccent", 667, NULL },
- { "threequarters", 834, NULL },
- { "guillemotright", 556, NULL },
- { "Ccedilla", 722, NULL },
- { "ydieresis", 556, NULL },
- { "tilde", 333, NULL },
- { "dbldaggerumlaut", 556, NULL },
- { "at", 975, NULL },
- { "eacute", 556, NULL },
- { "underscore", 556, NULL },
- { "Euro", 556, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 584, NULL },
- { "zero", 556, NULL },
- { "eth", 611, NULL },
- { "Scedilla", 667, NULL },
- { "Ograve", 778, NULL },
- { "Racute", 722, NULL },
- { "partialdiff", 494, NULL },
- { "uacute", 611, NULL },
- { "braceleft", 389, NULL },
- { "Thorn", 667, NULL },
- { "zcaron", 500, NULL },
- { "scommaaccent", 556, NULL },
- { "ccedilla", 556, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 611, NULL },
- { "Ocircumflex", 778, NULL },
- { "Oacute", 778, NULL },
- { "scedilla", 556, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 611, NULL },
- { "racute", 389, NULL },
- { "Tcaron", 611, NULL },
- { "Eogonek", 667, NULL },
- { "thorn", 611, NULL },
- { "degree", 400, NULL },
- { "registered", 737, NULL },
- { "radical", 549, NULL },
- { "Aring", 722, NULL },
- { "percent", 889, NULL },
- { "six", 556, NULL },
- { "paragraph", 556, NULL },
- { "dcaron", 743, NULL },
- { "Uogonek", 722, NULL },
- { "two", 556, NULL },
- { "summation", 600, NULL },
- { "Igrave", 278, NULL },
- { "Lacute", 611, NULL },
- { "ocircumflex", 611, NULL },
- { "oacute", 611, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 611, NULL },
- { "tcaron", 389, NULL },
- { "eogonek", 556, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 778, NULL },
- { "asciicircum", 584, NULL },
- { "aring", 556, NULL },
- { "grave", 333, NULL },
- { "uogonek", 611, NULL },
- { "bracketright", 333, NULL },
- { "Iacute", 278, NULL },
- { "ampersand", 722, NULL },
- { "igrave", 278, NULL },
- { "lacute", 278, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 584, NULL },
- { "uring", 611, NULL },
- { "quotesinglbase", 278, NULL },
- { "lcommaaccent", 278, NULL },
- { "Yacute", 667, NULL },
- { "ohungarumlaut", 611, NULL },
- { "threesuperior", 333, NULL },
- { "acute", 333, NULL },
- { "section", 556, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 500, NULL },
- { "ncaron", 611, NULL },
- { "florin", 556, NULL },
- { "yacute", 556, NULL },
- { "Rcommaaccent", 722, NULL },
- { "fi", 611, NULL },
- { "fl", 611, NULL },
- { "Acircumflex", 722, NULL },
- { "Cacute", 722, NULL },
- { "Icircumflex", 278, NULL },
- { "guillemotleft", 556, NULL },
- { "germandbls", 611, NULL },
- { "Amacron", 722, NULL },
- { "seven", 556, NULL },
- { "Sacute", 667, NULL },
- { "ordmasculine", 365, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 556, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 278, NULL },
- { "rcommaaccent", 389, NULL },
- { "Zdotaccent", 611, NULL },
- { "acircumflex", 556, NULL },
- { "cacute", 556, NULL },
- { "Ecaron", 667, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 389, NULL },
- { "quotedblright", 500, NULL },
- { "amacron", 556, NULL },
- { "sacute", 556, NULL },
- { "imacron", 278, NULL },
- { "cent", 556, NULL },
- { "currency", 556, NULL },
- { "logicalnot", 584, NULL },
- { "zdotaccent", 500, NULL },
- { "Atilde", 722, NULL },
- { "breve", 333, NULL },
- { "bar", 280, NULL },
- { "fraction", 167, NULL },
- { "less", 584, NULL },
- { "ecaron", 556, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 333, NULL },
- { "period", 278, NULL },
- { "Rcaron", 722, NULL },
- { "Kcommaaccent", 722, NULL },
- { "greater", 584, NULL },
- { "atilde", 556, NULL },
- { "brokenbar", 280, NULL },
- { "quoteleft", 278, NULL },
- { "Edotaccent", 667, NULL },
- { "onesuperior", 333, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 389, nullptr },
+ { "kcommaaccent", 556, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 611, nullptr },
+ { "comma", 278, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 584, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 556, nullptr },
+ { "asciitilde", 584, nullptr },
+ { "colon", 333, nullptr },
+ { "onehalf", 834, nullptr },
+ { "dollar", 556, nullptr },
+ { "Lcaron", 611, nullptr },
+ { "ntilde", 611, nullptr },
+ { "Aogonek", 722, nullptr },
+ { "ncommaaccent", 611, nullptr },
+ { "minus", 584, nullptr },
+ { "Iogonek", 278, nullptr },
+ { "zacute", 500, nullptr },
+ { "yen", 556, nullptr },
+ { "space", 278, nullptr },
+ { "Omacron", 778, nullptr },
+ { "questiondown", 611, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 722, nullptr },
+ { "three", 556, nullptr },
+ { "numbersign", 556, nullptr },
+ { "lcaron", 400, nullptr },
+ { "A", 722, nullptr },
+ { "B", 722, nullptr },
+ { "C", 722, nullptr },
+ { "aogonek", 556, nullptr },
+ { "D", 722, nullptr },
+ { "E", 667, nullptr },
+ { "onequarter", 834, nullptr },
+ { "F", 611, nullptr },
+ { "G", 778, nullptr },
+ { "H", 722, nullptr },
+ { "I", 278, nullptr },
+ { "J", 556, nullptr },
+ { "K", 722, nullptr },
+ { "iogonek", 278, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 611, nullptr },
+ { "periodcentered", 278, nullptr },
+ { "M", 833, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 611, nullptr },
+ { "Tcommaaccent", 611, nullptr },
+ { "O", 778, nullptr },
+ { "P", 667, nullptr },
+ { "Q", 778, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 722, nullptr },
+ { "Aacute", 722, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 667, nullptr },
+ { "T", 611, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 556, nullptr },
+ { "V", 667, nullptr },
+ { "W", 944, nullptr },
+ { "X", 667, nullptr },
+ { "question", 611, nullptr },
+ { "equal", 584, nullptr },
+ { "Y", 667, nullptr },
+ { "Z", 611, nullptr },
+ { "four", 556, nullptr },
+ { "a", 556, nullptr },
+ { "Gcommaaccent", 778, nullptr },
+ { "b", 611, nullptr },
+ { "c", 556, nullptr },
+ { "d", 611, nullptr },
+ { "e", 556, nullptr },
+ { "f", 333, nullptr },
+ { "g", 611, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 611, nullptr },
+ { "i", 278, nullptr },
+ { "Oslash", 778, nullptr },
+ { "dagger", 556, nullptr },
+ { "j", 278, nullptr },
+ { "k", 556, nullptr },
+ { "l", 278, nullptr },
+ { "m", 889, nullptr },
+ { "n", 611, nullptr },
+ { "tcommaaccent", 333, nullptr },
+ { "o", 611, nullptr },
+ { "ordfeminine", 370, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 611, nullptr },
+ { "q", 611, nullptr },
+ { "uhungarumlaut", 611, nullptr },
+ { "r", 389, nullptr },
+ { "twosuperior", 333, nullptr },
+ { "aacute", 556, nullptr },
+ { "s", 556, nullptr },
+ { "OE", 1000, nullptr },
+ { "t", 333, nullptr },
+ { "divide", 584, nullptr },
+ { "u", 611, nullptr },
+ { "Ccaron", 722, nullptr },
+ { "v", 556, nullptr },
+ { "w", 778, nullptr },
+ { "x", 556, nullptr },
+ { "y", 556, nullptr },
+ { "z", 500, nullptr },
+ { "Gbreve", 778, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 278, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 474, nullptr },
+ { "gcommaaccent", 611, nullptr },
+ { "mu", 611, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 667, nullptr },
+ { "Lslash", 611, nullptr },
+ { "semicolon", 333, nullptr },
+ { "oslash", 611, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 494, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 556, nullptr },
+ { "Ecircumflex", 667, nullptr },
+ { "gbreve", 611, nullptr },
+ { "trademark", 1000, nullptr },
+ { "daggerdbl", 556, nullptr },
+ { "nacute", 611, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 778, nullptr },
+ { "Emacron", 667, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 556, nullptr },
+ { "AE", 1000, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 278, nullptr },
+ { "quotedblleft", 500, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 238, nullptr },
+ { "eight", 556, nullptr },
+ { "exclamdown", 333, nullptr },
+ { "endash", 556, nullptr },
+ { "oe", 944, nullptr },
+ { "Abreve", 722, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 556, nullptr },
+ { "Adieresis", 722, nullptr },
+ { "copyright", 737, nullptr },
+ { "Egrave", 667, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 667, nullptr },
+ { "otilde", 611, nullptr },
+ { "Idieresis", 278, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 556, nullptr },
+ { "emacron", 556, nullptr },
+ { "Odieresis", 778, nullptr },
+ { "ucircumflex", 611, nullptr },
+ { "bracketleft", 333, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 278, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 667, nullptr },
+ { "umacron", 611, nullptr },
+ { "abreve", 556, nullptr },
+ { "Eacute", 667, nullptr },
+ { "adieresis", 556, nullptr },
+ { "egrave", 556, nullptr },
+ { "edieresis", 556, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 889, nullptr },
+ { "asterisk", 389, nullptr },
+ { "odieresis", 611, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 611, nullptr },
+ { "nine", 556, nullptr },
+ { "five", 556, nullptr },
+ { "udieresis", 611, nullptr },
+ { "Zcaron", 611, nullptr },
+ { "Scommaaccent", 667, nullptr },
+ { "threequarters", 834, nullptr },
+ { "guillemotright", 556, nullptr },
+ { "Ccedilla", 722, nullptr },
+ { "ydieresis", 556, nullptr },
+ { "tilde", 333, nullptr },
+ { "dbldaggerumlaut", 556, nullptr },
+ { "at", 975, nullptr },
+ { "eacute", 556, nullptr },
+ { "underscore", 556, nullptr },
+ { "Euro", 556, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 584, nullptr },
+ { "zero", 556, nullptr },
+ { "eth", 611, nullptr },
+ { "Scedilla", 667, nullptr },
+ { "Ograve", 778, nullptr },
+ { "Racute", 722, nullptr },
+ { "partialdiff", 494, nullptr },
+ { "uacute", 611, nullptr },
+ { "braceleft", 389, nullptr },
+ { "Thorn", 667, nullptr },
+ { "zcaron", 500, nullptr },
+ { "scommaaccent", 556, nullptr },
+ { "ccedilla", 556, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 611, nullptr },
+ { "Ocircumflex", 778, nullptr },
+ { "Oacute", 778, nullptr },
+ { "scedilla", 556, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 611, nullptr },
+ { "racute", 389, nullptr },
+ { "Tcaron", 611, nullptr },
+ { "Eogonek", 667, nullptr },
+ { "thorn", 611, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 737, nullptr },
+ { "radical", 549, nullptr },
+ { "Aring", 722, nullptr },
+ { "percent", 889, nullptr },
+ { "six", 556, nullptr },
+ { "paragraph", 556, nullptr },
+ { "dcaron", 743, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 556, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 278, nullptr },
+ { "Lacute", 611, nullptr },
+ { "ocircumflex", 611, nullptr },
+ { "oacute", 611, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 611, nullptr },
+ { "tcaron", 389, nullptr },
+ { "eogonek", 556, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 778, nullptr },
+ { "asciicircum", 584, nullptr },
+ { "aring", 556, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 611, nullptr },
+ { "bracketright", 333, nullptr },
+ { "Iacute", 278, nullptr },
+ { "ampersand", 722, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 278, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 584, nullptr },
+ { "uring", 611, nullptr },
+ { "quotesinglbase", 278, nullptr },
+ { "lcommaaccent", 278, nullptr },
+ { "Yacute", 667, nullptr },
+ { "ohungarumlaut", 611, nullptr },
+ { "threesuperior", 333, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 556, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 500, nullptr },
+ { "ncaron", 611, nullptr },
+ { "florin", 556, nullptr },
+ { "yacute", 556, nullptr },
+ { "Rcommaaccent", 722, nullptr },
+ { "fi", 611, nullptr },
+ { "fl", 611, nullptr },
+ { "Acircumflex", 722, nullptr },
+ { "Cacute", 722, nullptr },
+ { "Icircumflex", 278, nullptr },
+ { "guillemotleft", 556, nullptr },
+ { "germandbls", 611, nullptr },
+ { "Amacron", 722, nullptr },
+ { "seven", 556, nullptr },
+ { "Sacute", 667, nullptr },
+ { "ordmasculine", 365, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 556, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 278, nullptr },
+ { "rcommaaccent", 389, nullptr },
+ { "Zdotaccent", 611, nullptr },
+ { "acircumflex", 556, nullptr },
+ { "cacute", 556, nullptr },
+ { "Ecaron", 667, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 389, nullptr },
+ { "quotedblright", 500, nullptr },
+ { "amacron", 556, nullptr },
+ { "sacute", 556, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 556, nullptr },
+ { "currency", 556, nullptr },
+ { "logicalnot", 584, nullptr },
+ { "zdotaccent", 500, nullptr },
+ { "Atilde", 722, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 280, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 584, nullptr },
+ { "ecaron", 556, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 333, nullptr },
+ { "period", 278, nullptr },
+ { "Rcaron", 722, nullptr },
+ { "Kcommaaccent", 722, nullptr },
+ { "greater", 584, nullptr },
+ { "atilde", 556, nullptr },
+ { "brokenbar", 280, nullptr },
+ { "quoteleft", 278, nullptr },
+ { "Edotaccent", 667, nullptr },
+ { "onesuperior", 333, nullptr }
};
static BuiltinFontWidth helveticaBoldObliqueWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 389, NULL },
- { "kcommaaccent", 556, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 611, NULL },
- { "comma", 278, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 584, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 556, NULL },
- { "asciitilde", 584, NULL },
- { "colon", 333, NULL },
- { "onehalf", 834, NULL },
- { "dollar", 556, NULL },
- { "Lcaron", 611, NULL },
- { "ntilde", 611, NULL },
- { "Aogonek", 722, NULL },
- { "ncommaaccent", 611, NULL },
- { "minus", 584, NULL },
- { "Iogonek", 278, NULL },
- { "zacute", 500, NULL },
- { "yen", 556, NULL },
- { "space", 278, NULL },
- { "Omacron", 778, NULL },
- { "questiondown", 611, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 722, NULL },
- { "three", 556, NULL },
- { "numbersign", 556, NULL },
- { "lcaron", 400, NULL },
- { "A", 722, NULL },
- { "B", 722, NULL },
- { "C", 722, NULL },
- { "aogonek", 556, NULL },
- { "D", 722, NULL },
- { "E", 667, NULL },
- { "onequarter", 834, NULL },
- { "F", 611, NULL },
- { "G", 778, NULL },
- { "H", 722, NULL },
- { "I", 278, NULL },
- { "J", 556, NULL },
- { "K", 722, NULL },
- { "iogonek", 278, NULL },
- { "backslash", 278, NULL },
- { "L", 611, NULL },
- { "periodcentered", 278, NULL },
- { "M", 833, NULL },
- { "N", 722, NULL },
- { "omacron", 611, NULL },
- { "Tcommaaccent", 611, NULL },
- { "O", 778, NULL },
- { "P", 667, NULL },
- { "Q", 778, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 722, NULL },
- { "Aacute", 722, NULL },
- { "caron", 333, NULL },
- { "S", 667, NULL },
- { "T", 611, NULL },
- { "U", 722, NULL },
- { "agrave", 556, NULL },
- { "V", 667, NULL },
- { "W", 944, NULL },
- { "X", 667, NULL },
- { "question", 611, NULL },
- { "equal", 584, NULL },
- { "Y", 667, NULL },
- { "Z", 611, NULL },
- { "four", 556, NULL },
- { "a", 556, NULL },
- { "Gcommaaccent", 778, NULL },
- { "b", 611, NULL },
- { "c", 556, NULL },
- { "d", 611, NULL },
- { "e", 556, NULL },
- { "f", 333, NULL },
- { "g", 611, NULL },
- { "bullet", 350, NULL },
- { "h", 611, NULL },
- { "i", 278, NULL },
- { "Oslash", 778, NULL },
- { "dagger", 556, NULL },
- { "j", 278, NULL },
- { "k", 556, NULL },
- { "l", 278, NULL },
- { "m", 889, NULL },
- { "n", 611, NULL },
- { "tcommaaccent", 333, NULL },
- { "o", 611, NULL },
- { "ordfeminine", 370, NULL },
- { "ring", 333, NULL },
- { "p", 611, NULL },
- { "q", 611, NULL },
- { "uhungarumlaut", 611, NULL },
- { "r", 389, NULL },
- { "twosuperior", 333, NULL },
- { "aacute", 556, NULL },
- { "s", 556, NULL },
- { "OE", 1000, NULL },
- { "t", 333, NULL },
- { "divide", 584, NULL },
- { "u", 611, NULL },
- { "Ccaron", 722, NULL },
- { "v", 556, NULL },
- { "w", 778, NULL },
- { "x", 556, NULL },
- { "y", 556, NULL },
- { "z", 500, NULL },
- { "Gbreve", 778, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 278, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 474, NULL },
- { "gcommaaccent", 611, NULL },
- { "mu", 611, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 667, NULL },
- { "Lslash", 611, NULL },
- { "semicolon", 333, NULL },
- { "oslash", 611, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 494, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 556, NULL },
- { "Ecircumflex", 667, NULL },
- { "gbreve", 611, NULL },
- { "trademark", 1000, NULL },
- { "daggerdbl", 556, NULL },
- { "nacute", 611, NULL },
- { "macron", 333, NULL },
- { "Otilde", 778, NULL },
- { "Emacron", 667, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 556, NULL },
- { "AE", 1000, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 278, NULL },
- { "quotedblleft", 500, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 238, NULL },
- { "eight", 556, NULL },
- { "exclamdown", 333, NULL },
- { "endash", 556, NULL },
- { "oe", 944, NULL },
- { "Abreve", 722, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 556, NULL },
- { "Adieresis", 722, NULL },
- { "copyright", 737, NULL },
- { "Egrave", 667, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 667, NULL },
- { "otilde", 611, NULL },
- { "Idieresis", 278, NULL },
- { "parenleft", 333, NULL },
- { "one", 556, NULL },
- { "emacron", 556, NULL },
- { "Odieresis", 778, NULL },
- { "ucircumflex", 611, NULL },
- { "bracketleft", 333, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 278, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 667, NULL },
- { "umacron", 611, NULL },
- { "abreve", 556, NULL },
- { "Eacute", 667, NULL },
- { "adieresis", 556, NULL },
- { "egrave", 556, NULL },
- { "edieresis", 556, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 889, NULL },
- { "asterisk", 389, NULL },
- { "odieresis", 611, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 611, NULL },
- { "nine", 556, NULL },
- { "five", 556, NULL },
- { "udieresis", 611, NULL },
- { "Zcaron", 611, NULL },
- { "Scommaaccent", 667, NULL },
- { "threequarters", 834, NULL },
- { "guillemotright", 556, NULL },
- { "Ccedilla", 722, NULL },
- { "ydieresis", 556, NULL },
- { "tilde", 333, NULL },
- { "at", 975, NULL },
- { "eacute", 556, NULL },
- { "underscore", 556, NULL },
- { "Euro", 556, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 584, NULL },
- { "zero", 556, NULL },
- { "eth", 611, NULL },
- { "Scedilla", 667, NULL },
- { "Ograve", 778, NULL },
- { "Racute", 722, NULL },
- { "partialdiff", 494, NULL },
- { "uacute", 611, NULL },
- { "braceleft", 389, NULL },
- { "Thorn", 667, NULL },
- { "zcaron", 500, NULL },
- { "scommaaccent", 556, NULL },
- { "ccedilla", 556, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 611, NULL },
- { "Ocircumflex", 778, NULL },
- { "Oacute", 778, NULL },
- { "scedilla", 556, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 611, NULL },
- { "racute", 389, NULL },
- { "Tcaron", 611, NULL },
- { "Eogonek", 667, NULL },
- { "thorn", 611, NULL },
- { "degree", 400, NULL },
- { "registered", 737, NULL },
- { "radical", 549, NULL },
- { "Aring", 722, NULL },
- { "percent", 889, NULL },
- { "six", 556, NULL },
- { "paragraph", 556, NULL },
- { "dcaron", 743, NULL },
- { "Uogonek", 722, NULL },
- { "two", 556, NULL },
- { "summation", 600, NULL },
- { "Igrave", 278, NULL },
- { "Lacute", 611, NULL },
- { "ocircumflex", 611, NULL },
- { "oacute", 611, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 611, NULL },
- { "tcaron", 389, NULL },
- { "eogonek", 556, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 778, NULL },
- { "asciicircum", 584, NULL },
- { "aring", 556, NULL },
- { "grave", 333, NULL },
- { "uogonek", 611, NULL },
- { "bracketright", 333, NULL },
- { "Iacute", 278, NULL },
- { "ampersand", 722, NULL },
- { "igrave", 278, NULL },
- { "lacute", 278, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 584, NULL },
- { "uring", 611, NULL },
- { "quotesinglbase", 278, NULL },
- { "lcommaaccent", 278, NULL },
- { "Yacute", 667, NULL },
- { "ohungarumlaut", 611, NULL },
- { "threesuperior", 333, NULL },
- { "acute", 333, NULL },
- { "section", 556, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 500, NULL },
- { "ncaron", 611, NULL },
- { "florin", 556, NULL },
- { "yacute", 556, NULL },
- { "Rcommaaccent", 722, NULL },
- { "fi", 611, NULL },
- { "fl", 611, NULL },
- { "Acircumflex", 722, NULL },
- { "Cacute", 722, NULL },
- { "Icircumflex", 278, NULL },
- { "guillemotleft", 556, NULL },
- { "germandbls", 611, NULL },
- { "Amacron", 722, NULL },
- { "seven", 556, NULL },
- { "Sacute", 667, NULL },
- { "ordmasculine", 365, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 556, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 278, NULL },
- { "rcommaaccent", 389, NULL },
- { "Zdotaccent", 611, NULL },
- { "acircumflex", 556, NULL },
- { "cacute", 556, NULL },
- { "Ecaron", 667, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 389, NULL },
- { "quotedblright", 500, NULL },
- { "amacron", 556, NULL },
- { "sacute", 556, NULL },
- { "imacron", 278, NULL },
- { "cent", 556, NULL },
- { "currency", 556, NULL },
- { "logicalnot", 584, NULL },
- { "zdotaccent", 500, NULL },
- { "Atilde", 722, NULL },
- { "breve", 333, NULL },
- { "bar", 280, NULL },
- { "fraction", 167, NULL },
- { "less", 584, NULL },
- { "ecaron", 556, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 333, NULL },
- { "period", 278, NULL },
- { "Rcaron", 722, NULL },
- { "Kcommaaccent", 722, NULL },
- { "greater", 584, NULL },
- { "atilde", 556, NULL },
- { "brokenbar", 280, NULL },
- { "quoteleft", 278, NULL },
- { "Edotaccent", 667, NULL },
- { "onesuperior", 333, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 389, nullptr },
+ { "kcommaaccent", 556, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 611, nullptr },
+ { "comma", 278, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 584, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 556, nullptr },
+ { "asciitilde", 584, nullptr },
+ { "colon", 333, nullptr },
+ { "onehalf", 834, nullptr },
+ { "dollar", 556, nullptr },
+ { "Lcaron", 611, nullptr },
+ { "ntilde", 611, nullptr },
+ { "Aogonek", 722, nullptr },
+ { "ncommaaccent", 611, nullptr },
+ { "minus", 584, nullptr },
+ { "Iogonek", 278, nullptr },
+ { "zacute", 500, nullptr },
+ { "yen", 556, nullptr },
+ { "space", 278, nullptr },
+ { "Omacron", 778, nullptr },
+ { "questiondown", 611, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 722, nullptr },
+ { "three", 556, nullptr },
+ { "numbersign", 556, nullptr },
+ { "lcaron", 400, nullptr },
+ { "A", 722, nullptr },
+ { "B", 722, nullptr },
+ { "C", 722, nullptr },
+ { "aogonek", 556, nullptr },
+ { "D", 722, nullptr },
+ { "E", 667, nullptr },
+ { "onequarter", 834, nullptr },
+ { "F", 611, nullptr },
+ { "G", 778, nullptr },
+ { "H", 722, nullptr },
+ { "I", 278, nullptr },
+ { "J", 556, nullptr },
+ { "K", 722, nullptr },
+ { "iogonek", 278, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 611, nullptr },
+ { "periodcentered", 278, nullptr },
+ { "M", 833, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 611, nullptr },
+ { "Tcommaaccent", 611, nullptr },
+ { "O", 778, nullptr },
+ { "P", 667, nullptr },
+ { "Q", 778, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 722, nullptr },
+ { "Aacute", 722, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 667, nullptr },
+ { "T", 611, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 556, nullptr },
+ { "V", 667, nullptr },
+ { "W", 944, nullptr },
+ { "X", 667, nullptr },
+ { "question", 611, nullptr },
+ { "equal", 584, nullptr },
+ { "Y", 667, nullptr },
+ { "Z", 611, nullptr },
+ { "four", 556, nullptr },
+ { "a", 556, nullptr },
+ { "Gcommaaccent", 778, nullptr },
+ { "b", 611, nullptr },
+ { "c", 556, nullptr },
+ { "d", 611, nullptr },
+ { "e", 556, nullptr },
+ { "f", 333, nullptr },
+ { "g", 611, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 611, nullptr },
+ { "i", 278, nullptr },
+ { "Oslash", 778, nullptr },
+ { "dagger", 556, nullptr },
+ { "j", 278, nullptr },
+ { "k", 556, nullptr },
+ { "l", 278, nullptr },
+ { "m", 889, nullptr },
+ { "n", 611, nullptr },
+ { "tcommaaccent", 333, nullptr },
+ { "o", 611, nullptr },
+ { "ordfeminine", 370, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 611, nullptr },
+ { "q", 611, nullptr },
+ { "uhungarumlaut", 611, nullptr },
+ { "r", 389, nullptr },
+ { "twosuperior", 333, nullptr },
+ { "aacute", 556, nullptr },
+ { "s", 556, nullptr },
+ { "OE", 1000, nullptr },
+ { "t", 333, nullptr },
+ { "divide", 584, nullptr },
+ { "u", 611, nullptr },
+ { "Ccaron", 722, nullptr },
+ { "v", 556, nullptr },
+ { "w", 778, nullptr },
+ { "x", 556, nullptr },
+ { "y", 556, nullptr },
+ { "z", 500, nullptr },
+ { "Gbreve", 778, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 278, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 474, nullptr },
+ { "gcommaaccent", 611, nullptr },
+ { "mu", 611, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 667, nullptr },
+ { "Lslash", 611, nullptr },
+ { "semicolon", 333, nullptr },
+ { "oslash", 611, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 494, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 556, nullptr },
+ { "Ecircumflex", 667, nullptr },
+ { "gbreve", 611, nullptr },
+ { "trademark", 1000, nullptr },
+ { "daggerdbl", 556, nullptr },
+ { "nacute", 611, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 778, nullptr },
+ { "Emacron", 667, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 556, nullptr },
+ { "AE", 1000, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 278, nullptr },
+ { "quotedblleft", 500, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 238, nullptr },
+ { "eight", 556, nullptr },
+ { "exclamdown", 333, nullptr },
+ { "endash", 556, nullptr },
+ { "oe", 944, nullptr },
+ { "Abreve", 722, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 556, nullptr },
+ { "Adieresis", 722, nullptr },
+ { "copyright", 737, nullptr },
+ { "Egrave", 667, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 667, nullptr },
+ { "otilde", 611, nullptr },
+ { "Idieresis", 278, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 556, nullptr },
+ { "emacron", 556, nullptr },
+ { "Odieresis", 778, nullptr },
+ { "ucircumflex", 611, nullptr },
+ { "bracketleft", 333, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 278, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 667, nullptr },
+ { "umacron", 611, nullptr },
+ { "abreve", 556, nullptr },
+ { "Eacute", 667, nullptr },
+ { "adieresis", 556, nullptr },
+ { "egrave", 556, nullptr },
+ { "edieresis", 556, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 889, nullptr },
+ { "asterisk", 389, nullptr },
+ { "odieresis", 611, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 611, nullptr },
+ { "nine", 556, nullptr },
+ { "five", 556, nullptr },
+ { "udieresis", 611, nullptr },
+ { "Zcaron", 611, nullptr },
+ { "Scommaaccent", 667, nullptr },
+ { "threequarters", 834, nullptr },
+ { "guillemotright", 556, nullptr },
+ { "Ccedilla", 722, nullptr },
+ { "ydieresis", 556, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 975, nullptr },
+ { "eacute", 556, nullptr },
+ { "underscore", 556, nullptr },
+ { "Euro", 556, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 584, nullptr },
+ { "zero", 556, nullptr },
+ { "eth", 611, nullptr },
+ { "Scedilla", 667, nullptr },
+ { "Ograve", 778, nullptr },
+ { "Racute", 722, nullptr },
+ { "partialdiff", 494, nullptr },
+ { "uacute", 611, nullptr },
+ { "braceleft", 389, nullptr },
+ { "Thorn", 667, nullptr },
+ { "zcaron", 500, nullptr },
+ { "scommaaccent", 556, nullptr },
+ { "ccedilla", 556, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 611, nullptr },
+ { "Ocircumflex", 778, nullptr },
+ { "Oacute", 778, nullptr },
+ { "scedilla", 556, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 611, nullptr },
+ { "racute", 389, nullptr },
+ { "Tcaron", 611, nullptr },
+ { "Eogonek", 667, nullptr },
+ { "thorn", 611, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 737, nullptr },
+ { "radical", 549, nullptr },
+ { "Aring", 722, nullptr },
+ { "percent", 889, nullptr },
+ { "six", 556, nullptr },
+ { "paragraph", 556, nullptr },
+ { "dcaron", 743, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 556, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 278, nullptr },
+ { "Lacute", 611, nullptr },
+ { "ocircumflex", 611, nullptr },
+ { "oacute", 611, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 611, nullptr },
+ { "tcaron", 389, nullptr },
+ { "eogonek", 556, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 778, nullptr },
+ { "asciicircum", 584, nullptr },
+ { "aring", 556, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 611, nullptr },
+ { "bracketright", 333, nullptr },
+ { "Iacute", 278, nullptr },
+ { "ampersand", 722, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 278, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 584, nullptr },
+ { "uring", 611, nullptr },
+ { "quotesinglbase", 278, nullptr },
+ { "lcommaaccent", 278, nullptr },
+ { "Yacute", 667, nullptr },
+ { "ohungarumlaut", 611, nullptr },
+ { "threesuperior", 333, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 556, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 500, nullptr },
+ { "ncaron", 611, nullptr },
+ { "florin", 556, nullptr },
+ { "yacute", 556, nullptr },
+ { "Rcommaaccent", 722, nullptr },
+ { "fi", 611, nullptr },
+ { "fl", 611, nullptr },
+ { "Acircumflex", 722, nullptr },
+ { "Cacute", 722, nullptr },
+ { "Icircumflex", 278, nullptr },
+ { "guillemotleft", 556, nullptr },
+ { "germandbls", 611, nullptr },
+ { "Amacron", 722, nullptr },
+ { "seven", 556, nullptr },
+ { "Sacute", 667, nullptr },
+ { "ordmasculine", 365, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 556, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 278, nullptr },
+ { "rcommaaccent", 389, nullptr },
+ { "Zdotaccent", 611, nullptr },
+ { "acircumflex", 556, nullptr },
+ { "cacute", 556, nullptr },
+ { "Ecaron", 667, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 389, nullptr },
+ { "quotedblright", 500, nullptr },
+ { "amacron", 556, nullptr },
+ { "sacute", 556, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 556, nullptr },
+ { "currency", 556, nullptr },
+ { "logicalnot", 584, nullptr },
+ { "zdotaccent", 500, nullptr },
+ { "Atilde", 722, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 280, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 584, nullptr },
+ { "ecaron", 556, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 333, nullptr },
+ { "period", 278, nullptr },
+ { "Rcaron", 722, nullptr },
+ { "Kcommaaccent", 722, nullptr },
+ { "greater", 584, nullptr },
+ { "atilde", 556, nullptr },
+ { "brokenbar", 280, nullptr },
+ { "quoteleft", 278, nullptr },
+ { "Edotaccent", 667, nullptr },
+ { "onesuperior", 333, nullptr }
};
static BuiltinFontWidth helveticaObliqueWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 333, NULL },
- { "kcommaaccent", 500, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 611, NULL },
- { "comma", 278, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 584, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 556, NULL },
- { "asciitilde", 584, NULL },
- { "colon", 278, NULL },
- { "onehalf", 834, NULL },
- { "dollar", 556, NULL },
- { "Lcaron", 556, NULL },
- { "ntilde", 556, NULL },
- { "Aogonek", 667, NULL },
- { "ncommaaccent", 556, NULL },
- { "minus", 584, NULL },
- { "Iogonek", 278, NULL },
- { "zacute", 500, NULL },
- { "yen", 556, NULL },
- { "space", 278, NULL },
- { "Omacron", 778, NULL },
- { "questiondown", 611, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 667, NULL },
- { "three", 556, NULL },
- { "numbersign", 556, NULL },
- { "lcaron", 299, NULL },
- { "A", 667, NULL },
- { "B", 667, NULL },
- { "C", 722, NULL },
- { "aogonek", 556, NULL },
- { "D", 722, NULL },
- { "E", 667, NULL },
- { "onequarter", 834, NULL },
- { "F", 611, NULL },
- { "G", 778, NULL },
- { "H", 722, NULL },
- { "I", 278, NULL },
- { "J", 500, NULL },
- { "K", 667, NULL },
- { "iogonek", 222, NULL },
- { "backslash", 278, NULL },
- { "L", 556, NULL },
- { "periodcentered", 278, NULL },
- { "M", 833, NULL },
- { "N", 722, NULL },
- { "omacron", 556, NULL },
- { "Tcommaaccent", 611, NULL },
- { "O", 778, NULL },
- { "P", 667, NULL },
- { "Q", 778, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 722, NULL },
- { "Aacute", 667, NULL },
- { "caron", 333, NULL },
- { "S", 667, NULL },
- { "T", 611, NULL },
- { "U", 722, NULL },
- { "agrave", 556, NULL },
- { "V", 667, NULL },
- { "W", 944, NULL },
- { "X", 667, NULL },
- { "question", 556, NULL },
- { "equal", 584, NULL },
- { "Y", 667, NULL },
- { "Z", 611, NULL },
- { "four", 556, NULL },
- { "a", 556, NULL },
- { "Gcommaaccent", 778, NULL },
- { "b", 556, NULL },
- { "c", 500, NULL },
- { "d", 556, NULL },
- { "e", 556, NULL },
- { "f", 278, NULL },
- { "g", 556, NULL },
- { "bullet", 350, NULL },
- { "h", 556, NULL },
- { "i", 222, NULL },
- { "Oslash", 778, NULL },
- { "dagger", 556, NULL },
- { "j", 222, NULL },
- { "k", 500, NULL },
- { "l", 222, NULL },
- { "m", 833, NULL },
- { "n", 556, NULL },
- { "tcommaaccent", 278, NULL },
- { "o", 556, NULL },
- { "ordfeminine", 370, NULL },
- { "ring", 333, NULL },
- { "p", 556, NULL },
- { "q", 556, NULL },
- { "uhungarumlaut", 556, NULL },
- { "r", 333, NULL },
- { "twosuperior", 333, NULL },
- { "aacute", 556, NULL },
- { "s", 500, NULL },
- { "OE", 1000, NULL },
- { "t", 278, NULL },
- { "divide", 584, NULL },
- { "u", 556, NULL },
- { "Ccaron", 722, NULL },
- { "v", 500, NULL },
- { "w", 722, NULL },
- { "x", 500, NULL },
- { "y", 500, NULL },
- { "z", 500, NULL },
- { "Gbreve", 778, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 278, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 355, NULL },
- { "gcommaaccent", 556, NULL },
- { "mu", 556, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 667, NULL },
- { "Lslash", 556, NULL },
- { "semicolon", 278, NULL },
- { "oslash", 611, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 471, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 500, NULL },
- { "Ecircumflex", 667, NULL },
- { "gbreve", 556, NULL },
- { "trademark", 1000, NULL },
- { "daggerdbl", 556, NULL },
- { "nacute", 556, NULL },
- { "macron", 333, NULL },
- { "Otilde", 778, NULL },
- { "Emacron", 667, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 500, NULL },
- { "AE", 1000, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 222, NULL },
- { "quotedblleft", 333, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 191, NULL },
- { "eight", 556, NULL },
- { "exclamdown", 333, NULL },
- { "endash", 556, NULL },
- { "oe", 944, NULL },
- { "Abreve", 667, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 556, NULL },
- { "Adieresis", 667, NULL },
- { "copyright", 737, NULL },
- { "Egrave", 667, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 667, NULL },
- { "otilde", 556, NULL },
- { "Idieresis", 278, NULL },
- { "parenleft", 333, NULL },
- { "one", 556, NULL },
- { "emacron", 556, NULL },
- { "Odieresis", 778, NULL },
- { "ucircumflex", 556, NULL },
- { "bracketleft", 278, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 222, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 667, NULL },
- { "umacron", 556, NULL },
- { "abreve", 556, NULL },
- { "Eacute", 667, NULL },
- { "adieresis", 556, NULL },
- { "egrave", 556, NULL },
- { "edieresis", 556, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 889, NULL },
- { "asterisk", 389, NULL },
- { "odieresis", 556, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 556, NULL },
- { "nine", 556, NULL },
- { "five", 556, NULL },
- { "udieresis", 556, NULL },
- { "Zcaron", 611, NULL },
- { "Scommaaccent", 667, NULL },
- { "threequarters", 834, NULL },
- { "guillemotright", 556, NULL },
- { "Ccedilla", 722, NULL },
- { "ydieresis", 500, NULL },
- { "tilde", 333, NULL },
- { "at", 1015, NULL },
- { "eacute", 556, NULL },
- { "underscore", 556, NULL },
- { "Euro", 556, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 584, NULL },
- { "zero", 556, NULL },
- { "eth", 556, NULL },
- { "Scedilla", 667, NULL },
- { "Ograve", 778, NULL },
- { "Racute", 722, NULL },
- { "partialdiff", 476, NULL },
- { "uacute", 556, NULL },
- { "braceleft", 334, NULL },
- { "Thorn", 667, NULL },
- { "zcaron", 500, NULL },
- { "scommaaccent", 500, NULL },
- { "ccedilla", 500, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 556, NULL },
- { "Ocircumflex", 778, NULL },
- { "Oacute", 778, NULL },
- { "scedilla", 500, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 556, NULL },
- { "racute", 333, NULL },
- { "Tcaron", 611, NULL },
- { "Eogonek", 667, NULL },
- { "thorn", 556, NULL },
- { "degree", 400, NULL },
- { "registered", 737, NULL },
- { "radical", 453, NULL },
- { "Aring", 667, NULL },
- { "percent", 889, NULL },
- { "six", 556, NULL },
- { "paragraph", 537, NULL },
- { "dcaron", 643, NULL },
- { "Uogonek", 722, NULL },
- { "two", 556, NULL },
- { "summation", 600, NULL },
- { "Igrave", 278, NULL },
- { "Lacute", 556, NULL },
- { "ocircumflex", 556, NULL },
- { "oacute", 556, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 556, NULL },
- { "tcaron", 317, NULL },
- { "eogonek", 556, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 778, NULL },
- { "asciicircum", 469, NULL },
- { "aring", 556, NULL },
- { "grave", 333, NULL },
- { "uogonek", 556, NULL },
- { "bracketright", 278, NULL },
- { "Iacute", 278, NULL },
- { "ampersand", 667, NULL },
- { "igrave", 278, NULL },
- { "lacute", 222, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 584, NULL },
- { "uring", 556, NULL },
- { "quotesinglbase", 222, NULL },
- { "lcommaaccent", 222, NULL },
- { "Yacute", 667, NULL },
- { "ohungarumlaut", 556, NULL },
- { "threesuperior", 333, NULL },
- { "acute", 333, NULL },
- { "section", 556, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 333, NULL },
- { "ncaron", 556, NULL },
- { "florin", 556, NULL },
- { "yacute", 500, NULL },
- { "Rcommaaccent", 722, NULL },
- { "fi", 500, NULL },
- { "fl", 500, NULL },
- { "Acircumflex", 667, NULL },
- { "Cacute", 722, NULL },
- { "Icircumflex", 278, NULL },
- { "guillemotleft", 556, NULL },
- { "germandbls", 611, NULL },
- { "Amacron", 667, NULL },
- { "seven", 556, NULL },
- { "Sacute", 667, NULL },
- { "ordmasculine", 365, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 556, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 278, NULL },
- { "rcommaaccent", 333, NULL },
- { "Zdotaccent", 611, NULL },
- { "acircumflex", 556, NULL },
- { "cacute", 500, NULL },
- { "Ecaron", 667, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 334, NULL },
- { "quotedblright", 333, NULL },
- { "amacron", 556, NULL },
- { "sacute", 500, NULL },
- { "imacron", 278, NULL },
- { "cent", 556, NULL },
- { "currency", 556, NULL },
- { "logicalnot", 584, NULL },
- { "zdotaccent", 500, NULL },
- { "Atilde", 667, NULL },
- { "breve", 333, NULL },
- { "bar", 260, NULL },
- { "fraction", 167, NULL },
- { "less", 584, NULL },
- { "ecaron", 556, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 278, NULL },
- { "period", 278, NULL },
- { "Rcaron", 722, NULL },
- { "Kcommaaccent", 667, NULL },
- { "greater", 584, NULL },
- { "atilde", 556, NULL },
- { "brokenbar", 260, NULL },
- { "quoteleft", 222, NULL },
- { "Edotaccent", 667, NULL },
- { "onesuperior", 333, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 333, nullptr },
+ { "kcommaaccent", 500, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 611, nullptr },
+ { "comma", 278, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 584, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 556, nullptr },
+ { "asciitilde", 584, nullptr },
+ { "colon", 278, nullptr },
+ { "onehalf", 834, nullptr },
+ { "dollar", 556, nullptr },
+ { "Lcaron", 556, nullptr },
+ { "ntilde", 556, nullptr },
+ { "Aogonek", 667, nullptr },
+ { "ncommaaccent", 556, nullptr },
+ { "minus", 584, nullptr },
+ { "Iogonek", 278, nullptr },
+ { "zacute", 500, nullptr },
+ { "yen", 556, nullptr },
+ { "space", 278, nullptr },
+ { "Omacron", 778, nullptr },
+ { "questiondown", 611, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 667, nullptr },
+ { "three", 556, nullptr },
+ { "numbersign", 556, nullptr },
+ { "lcaron", 299, nullptr },
+ { "A", 667, nullptr },
+ { "B", 667, nullptr },
+ { "C", 722, nullptr },
+ { "aogonek", 556, nullptr },
+ { "D", 722, nullptr },
+ { "E", 667, nullptr },
+ { "onequarter", 834, nullptr },
+ { "F", 611, nullptr },
+ { "G", 778, nullptr },
+ { "H", 722, nullptr },
+ { "I", 278, nullptr },
+ { "J", 500, nullptr },
+ { "K", 667, nullptr },
+ { "iogonek", 222, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 556, nullptr },
+ { "periodcentered", 278, nullptr },
+ { "M", 833, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 556, nullptr },
+ { "Tcommaaccent", 611, nullptr },
+ { "O", 778, nullptr },
+ { "P", 667, nullptr },
+ { "Q", 778, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 722, nullptr },
+ { "Aacute", 667, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 667, nullptr },
+ { "T", 611, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 556, nullptr },
+ { "V", 667, nullptr },
+ { "W", 944, nullptr },
+ { "X", 667, nullptr },
+ { "question", 556, nullptr },
+ { "equal", 584, nullptr },
+ { "Y", 667, nullptr },
+ { "Z", 611, nullptr },
+ { "four", 556, nullptr },
+ { "a", 556, nullptr },
+ { "Gcommaaccent", 778, nullptr },
+ { "b", 556, nullptr },
+ { "c", 500, nullptr },
+ { "d", 556, nullptr },
+ { "e", 556, nullptr },
+ { "f", 278, nullptr },
+ { "g", 556, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 556, nullptr },
+ { "i", 222, nullptr },
+ { "Oslash", 778, nullptr },
+ { "dagger", 556, nullptr },
+ { "j", 222, nullptr },
+ { "k", 500, nullptr },
+ { "l", 222, nullptr },
+ { "m", 833, nullptr },
+ { "n", 556, nullptr },
+ { "tcommaaccent", 278, nullptr },
+ { "o", 556, nullptr },
+ { "ordfeminine", 370, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 556, nullptr },
+ { "q", 556, nullptr },
+ { "uhungarumlaut", 556, nullptr },
+ { "r", 333, nullptr },
+ { "twosuperior", 333, nullptr },
+ { "aacute", 556, nullptr },
+ { "s", 500, nullptr },
+ { "OE", 1000, nullptr },
+ { "t", 278, nullptr },
+ { "divide", 584, nullptr },
+ { "u", 556, nullptr },
+ { "Ccaron", 722, nullptr },
+ { "v", 500, nullptr },
+ { "w", 722, nullptr },
+ { "x", 500, nullptr },
+ { "y", 500, nullptr },
+ { "z", 500, nullptr },
+ { "Gbreve", 778, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 278, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 355, nullptr },
+ { "gcommaaccent", 556, nullptr },
+ { "mu", 556, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 667, nullptr },
+ { "Lslash", 556, nullptr },
+ { "semicolon", 278, nullptr },
+ { "oslash", 611, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 471, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 500, nullptr },
+ { "Ecircumflex", 667, nullptr },
+ { "gbreve", 556, nullptr },
+ { "trademark", 1000, nullptr },
+ { "daggerdbl", 556, nullptr },
+ { "nacute", 556, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 778, nullptr },
+ { "Emacron", 667, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 500, nullptr },
+ { "AE", 1000, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 222, nullptr },
+ { "quotedblleft", 333, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 191, nullptr },
+ { "eight", 556, nullptr },
+ { "exclamdown", 333, nullptr },
+ { "endash", 556, nullptr },
+ { "oe", 944, nullptr },
+ { "Abreve", 667, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 556, nullptr },
+ { "Adieresis", 667, nullptr },
+ { "copyright", 737, nullptr },
+ { "Egrave", 667, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 667, nullptr },
+ { "otilde", 556, nullptr },
+ { "Idieresis", 278, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 556, nullptr },
+ { "emacron", 556, nullptr },
+ { "Odieresis", 778, nullptr },
+ { "ucircumflex", 556, nullptr },
+ { "bracketleft", 278, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 222, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 667, nullptr },
+ { "umacron", 556, nullptr },
+ { "abreve", 556, nullptr },
+ { "Eacute", 667, nullptr },
+ { "adieresis", 556, nullptr },
+ { "egrave", 556, nullptr },
+ { "edieresis", 556, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 889, nullptr },
+ { "asterisk", 389, nullptr },
+ { "odieresis", 556, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 556, nullptr },
+ { "nine", 556, nullptr },
+ { "five", 556, nullptr },
+ { "udieresis", 556, nullptr },
+ { "Zcaron", 611, nullptr },
+ { "Scommaaccent", 667, nullptr },
+ { "threequarters", 834, nullptr },
+ { "guillemotright", 556, nullptr },
+ { "Ccedilla", 722, nullptr },
+ { "ydieresis", 500, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 1015, nullptr },
+ { "eacute", 556, nullptr },
+ { "underscore", 556, nullptr },
+ { "Euro", 556, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 584, nullptr },
+ { "zero", 556, nullptr },
+ { "eth", 556, nullptr },
+ { "Scedilla", 667, nullptr },
+ { "Ograve", 778, nullptr },
+ { "Racute", 722, nullptr },
+ { "partialdiff", 476, nullptr },
+ { "uacute", 556, nullptr },
+ { "braceleft", 334, nullptr },
+ { "Thorn", 667, nullptr },
+ { "zcaron", 500, nullptr },
+ { "scommaaccent", 500, nullptr },
+ { "ccedilla", 500, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 556, nullptr },
+ { "Ocircumflex", 778, nullptr },
+ { "Oacute", 778, nullptr },
+ { "scedilla", 500, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 556, nullptr },
+ { "racute", 333, nullptr },
+ { "Tcaron", 611, nullptr },
+ { "Eogonek", 667, nullptr },
+ { "thorn", 556, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 737, nullptr },
+ { "radical", 453, nullptr },
+ { "Aring", 667, nullptr },
+ { "percent", 889, nullptr },
+ { "six", 556, nullptr },
+ { "paragraph", 537, nullptr },
+ { "dcaron", 643, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 556, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 278, nullptr },
+ { "Lacute", 556, nullptr },
+ { "ocircumflex", 556, nullptr },
+ { "oacute", 556, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 556, nullptr },
+ { "tcaron", 317, nullptr },
+ { "eogonek", 556, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 778, nullptr },
+ { "asciicircum", 469, nullptr },
+ { "aring", 556, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 556, nullptr },
+ { "bracketright", 278, nullptr },
+ { "Iacute", 278, nullptr },
+ { "ampersand", 667, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 222, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 584, nullptr },
+ { "uring", 556, nullptr },
+ { "quotesinglbase", 222, nullptr },
+ { "lcommaaccent", 222, nullptr },
+ { "Yacute", 667, nullptr },
+ { "ohungarumlaut", 556, nullptr },
+ { "threesuperior", 333, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 556, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 333, nullptr },
+ { "ncaron", 556, nullptr },
+ { "florin", 556, nullptr },
+ { "yacute", 500, nullptr },
+ { "Rcommaaccent", 722, nullptr },
+ { "fi", 500, nullptr },
+ { "fl", 500, nullptr },
+ { "Acircumflex", 667, nullptr },
+ { "Cacute", 722, nullptr },
+ { "Icircumflex", 278, nullptr },
+ { "guillemotleft", 556, nullptr },
+ { "germandbls", 611, nullptr },
+ { "Amacron", 667, nullptr },
+ { "seven", 556, nullptr },
+ { "Sacute", 667, nullptr },
+ { "ordmasculine", 365, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 556, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 278, nullptr },
+ { "rcommaaccent", 333, nullptr },
+ { "Zdotaccent", 611, nullptr },
+ { "acircumflex", 556, nullptr },
+ { "cacute", 500, nullptr },
+ { "Ecaron", 667, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 334, nullptr },
+ { "quotedblright", 333, nullptr },
+ { "amacron", 556, nullptr },
+ { "sacute", 500, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 556, nullptr },
+ { "currency", 556, nullptr },
+ { "logicalnot", 584, nullptr },
+ { "zdotaccent", 500, nullptr },
+ { "Atilde", 667, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 260, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 584, nullptr },
+ { "ecaron", 556, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 278, nullptr },
+ { "period", 278, nullptr },
+ { "Rcaron", 722, nullptr },
+ { "Kcommaaccent", 667, nullptr },
+ { "greater", 584, nullptr },
+ { "atilde", 556, nullptr },
+ { "brokenbar", 260, nullptr },
+ { "quoteleft", 222, nullptr },
+ { "Edotaccent", 667, nullptr },
+ { "onesuperior", 333, nullptr }
};
static BuiltinFontWidth symbolWidthsTab[] = {
- { "bracketleftex", 384, NULL },
- { "alpha", 631, NULL },
- { "union", 768, NULL },
- { "infinity", 713, NULL },
- { "comma", 250, NULL },
- { "copyrightsans", 790, NULL },
- { "plusminus", 549, NULL },
- { "arrowup", 603, NULL },
- { "apple", 790, NULL },
- { "parenleftbt", 384, NULL },
- { "notelement", 713, NULL },
- { "colon", 278, NULL },
- { "beta", 549, NULL },
- { "braceleftbt", 494, NULL },
- { "Lambda", 686, NULL },
- { "Phi", 763, NULL },
- { "minus", 549, NULL },
- { "space", 250, NULL },
- { "Sigma", 592, NULL },
- { "approxequal", 549, NULL },
- { "minute", 247, NULL },
- { "circleplus", 768, NULL },
- { "Omicron", 722, NULL },
- { "three", 500, NULL },
- { "numbersign", 500, NULL },
- { "lambda", 549, NULL },
- { "phi", 521, NULL },
- { "aleph", 823, NULL },
- { "Tau", 611, NULL },
- { "spade", 753, NULL },
- { "logicaland", 603, NULL },
- { "sigma", 603, NULL },
- { "propersuperset", 713, NULL },
- { "omicron", 549, NULL },
- { "question", 444, NULL },
- { "equal", 549, NULL },
- { "Epsilon", 611, NULL },
- { "emptyset", 823, NULL },
- { "diamond", 753, NULL },
- { "four", 500, NULL },
- { "Mu", 889, NULL },
- { "parenlefttp", 384, NULL },
- { "club", 753, NULL },
- { "bullet", 460, NULL },
- { "Omega", 768, NULL },
- { "tau", 439, NULL },
- { "Upsilon", 690, NULL },
- { "bracelefttp", 494, NULL },
- { "heart", 753, NULL },
- { "divide", 549, NULL },
- { "epsilon", 439, NULL },
- { "logicalor", 603, NULL },
- { "parenleftex", 384, NULL },
- { "greaterequal", 549, NULL },
- { "mu", 576, NULL },
- { "Nu", 722, NULL },
- { "therefore", 863, NULL },
- { "notsubset", 713, NULL },
- { "omega", 686, NULL },
- { "semicolon", 278, NULL },
- { "element", 713, NULL },
- { "upsilon", 576, NULL },
- { "existential", 549, NULL },
- { "integralbt", 686, NULL },
- { "lessequal", 549, NULL },
- { "phi1", 603, NULL },
- { "lozenge", 494, NULL },
- { "trademarkserif", 890, NULL },
- { "parenright", 333, NULL },
- { "reflexsuperset", 713, NULL },
- { "sigma1", 439, NULL },
- { "nu", 521, NULL },
- { "Gamma", 603, NULL },
- { "angleright", 329, NULL },
- { "ellipsis", 1000, NULL },
- { "Rho", 556, NULL },
- { "parenrightbt", 384, NULL },
- { "radicalex", 500, NULL },
- { "eight", 500, NULL },
- { "angleleft", 329, NULL },
- { "arrowdbldown", 603, NULL },
- { "congruent", 549, NULL },
- { "Theta", 741, NULL },
- { "intersection", 768, NULL },
- { "Pi", 768, NULL },
- { "slash", 278, NULL },
- { "registerserif", 790, NULL },
- { "parenleft", 333, NULL },
- { "one", 500, NULL },
- { "gamma", 411, NULL },
- { "bracketleft", 333, NULL },
- { "rho", 549, NULL },
- { "circlemultiply", 768, NULL },
- { "Chi", 722, NULL },
- { "theta", 521, NULL },
- { "pi", 549, NULL },
- { "integraltp", 686, NULL },
- { "Eta", 722, NULL },
- { "product", 823, NULL },
- { "nine", 500, NULL },
- { "five", 500, NULL },
- { "propersubset", 713, NULL },
- { "bracketrightbt", 384, NULL },
- { "trademarksans", 786, NULL },
- { "dotmath", 250, NULL },
- { "integralex", 686, NULL },
- { "chi", 549, NULL },
- { "parenrighttp", 384, NULL },
- { "eta", 603, NULL },
- { "underscore", 500, NULL },
- { "Euro", 750, NULL },
- { "multiply", 549, NULL },
- { "zero", 500, NULL },
- { "partialdiff", 494, NULL },
- { "angle", 768, NULL },
- { "arrowdblleft", 987, NULL },
- { "braceleft", 480, NULL },
- { "parenrightex", 384, NULL },
- { "Rfraktur", 795, NULL },
- { "Zeta", 611, NULL },
- { "braceex", 494, NULL },
- { "arrowdblup", 603, NULL },
- { "arrowdown", 603, NULL },
- { "Ifraktur", 686, NULL },
- { "degree", 400, NULL },
- { "Iota", 333, NULL },
- { "perpendicular", 658, NULL },
- { "radical", 549, NULL },
- { "asteriskmath", 500, NULL },
- { "percent", 833, NULL },
- { "zeta", 494, NULL },
- { "six", 500, NULL },
- { "two", 500, NULL },
- { "weierstrass", 987, NULL },
- { "summation", 713, NULL },
- { "bracketrighttp", 384, NULL },
- { "carriagereturn", 658, NULL },
- { "suchthat", 439, NULL },
- { "arrowvertex", 603, NULL },
- { "Delta", 612, NULL },
- { "iota", 329, NULL },
- { "arrowhorizex", 1000, NULL },
- { "bracketrightex", 384, NULL },
- { "bracketright", 333, NULL },
- { "ampersand", 778, NULL },
- { "plus", 549, NULL },
- { "proportional", 713, NULL },
- { "delta", 494, NULL },
- { "copyrightserif", 790, NULL },
- { "bracerightmid", 494, NULL },
- { "arrowleft", 987, NULL },
- { "second", 411, NULL },
- { "arrowdblboth", 1042, NULL },
- { "florin", 500, NULL },
- { "Psi", 795, NULL },
- { "bracerightbt", 494, NULL },
- { "bracketleftbt", 384, NULL },
- { "seven", 500, NULL },
- { "braceleftmid", 494, NULL },
- { "notequal", 549, NULL },
- { "psi", 686, NULL },
- { "equivalence", 549, NULL },
- { "universal", 713, NULL },
- { "arrowdblright", 987, NULL },
- { "braceright", 480, NULL },
- { "reflexsubset", 713, NULL },
- { "Xi", 645, NULL },
- { "theta1", 631, NULL },
- { "logicalnot", 713, NULL },
- { "Kappa", 722, NULL },
- { "similar", 549, NULL },
- { "bar", 200, NULL },
- { "fraction", 167, NULL },
- { "less", 549, NULL },
- { "registersans", 790, NULL },
- { "omega1", 713, NULL },
- { "exclam", 333, NULL },
- { "Upsilon1", 620, NULL },
- { "bracerighttp", 494, NULL },
- { "xi", 493, NULL },
- { "period", 250, NULL },
- { "Alpha", 722, NULL },
- { "arrowright", 987, NULL },
- { "greater", 549, NULL },
- { "bracketlefttp", 384, NULL },
- { "kappa", 549, NULL },
- { "gradient", 713, NULL },
- { "integral", 274, NULL },
- { "arrowboth", 1042, NULL },
- { "Beta", 667, NULL }
+ { "bracketleftex", 384, nullptr },
+ { "alpha", 631, nullptr },
+ { "union", 768, nullptr },
+ { "infinity", 713, nullptr },
+ { "comma", 250, nullptr },
+ { "copyrightsans", 790, nullptr },
+ { "plusminus", 549, nullptr },
+ { "arrowup", 603, nullptr },
+ { "apple", 790, nullptr },
+ { "parenleftbt", 384, nullptr },
+ { "notelement", 713, nullptr },
+ { "colon", 278, nullptr },
+ { "beta", 549, nullptr },
+ { "braceleftbt", 494, nullptr },
+ { "Lambda", 686, nullptr },
+ { "Phi", 763, nullptr },
+ { "minus", 549, nullptr },
+ { "space", 250, nullptr },
+ { "Sigma", 592, nullptr },
+ { "approxequal", 549, nullptr },
+ { "minute", 247, nullptr },
+ { "circleplus", 768, nullptr },
+ { "Omicron", 722, nullptr },
+ { "three", 500, nullptr },
+ { "numbersign", 500, nullptr },
+ { "lambda", 549, nullptr },
+ { "phi", 521, nullptr },
+ { "aleph", 823, nullptr },
+ { "Tau", 611, nullptr },
+ { "spade", 753, nullptr },
+ { "logicaland", 603, nullptr },
+ { "sigma", 603, nullptr },
+ { "propersuperset", 713, nullptr },
+ { "omicron", 549, nullptr },
+ { "question", 444, nullptr },
+ { "equal", 549, nullptr },
+ { "Epsilon", 611, nullptr },
+ { "emptyset", 823, nullptr },
+ { "diamond", 753, nullptr },
+ { "four", 500, nullptr },
+ { "Mu", 889, nullptr },
+ { "parenlefttp", 384, nullptr },
+ { "club", 753, nullptr },
+ { "bullet", 460, nullptr },
+ { "Omega", 768, nullptr },
+ { "tau", 439, nullptr },
+ { "Upsilon", 690, nullptr },
+ { "bracelefttp", 494, nullptr },
+ { "heart", 753, nullptr },
+ { "divide", 549, nullptr },
+ { "epsilon", 439, nullptr },
+ { "logicalor", 603, nullptr },
+ { "parenleftex", 384, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "mu", 576, nullptr },
+ { "Nu", 722, nullptr },
+ { "therefore", 863, nullptr },
+ { "notsubset", 713, nullptr },
+ { "omega", 686, nullptr },
+ { "semicolon", 278, nullptr },
+ { "element", 713, nullptr },
+ { "upsilon", 576, nullptr },
+ { "existential", 549, nullptr },
+ { "integralbt", 686, nullptr },
+ { "lessequal", 549, nullptr },
+ { "phi1", 603, nullptr },
+ { "lozenge", 494, nullptr },
+ { "trademarkserif", 890, nullptr },
+ { "parenright", 333, nullptr },
+ { "reflexsuperset", 713, nullptr },
+ { "sigma1", 439, nullptr },
+ { "nu", 521, nullptr },
+ { "Gamma", 603, nullptr },
+ { "angleright", 329, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "Rho", 556, nullptr },
+ { "parenrightbt", 384, nullptr },
+ { "radicalex", 500, nullptr },
+ { "eight", 500, nullptr },
+ { "angleleft", 329, nullptr },
+ { "arrowdbldown", 603, nullptr },
+ { "congruent", 549, nullptr },
+ { "Theta", 741, nullptr },
+ { "intersection", 768, nullptr },
+ { "Pi", 768, nullptr },
+ { "slash", 278, nullptr },
+ { "registerserif", 790, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 500, nullptr },
+ { "gamma", 411, nullptr },
+ { "bracketleft", 333, nullptr },
+ { "rho", 549, nullptr },
+ { "circlemultiply", 768, nullptr },
+ { "Chi", 722, nullptr },
+ { "theta", 521, nullptr },
+ { "pi", 549, nullptr },
+ { "integraltp", 686, nullptr },
+ { "Eta", 722, nullptr },
+ { "product", 823, nullptr },
+ { "nine", 500, nullptr },
+ { "five", 500, nullptr },
+ { "propersubset", 713, nullptr },
+ { "bracketrightbt", 384, nullptr },
+ { "trademarksans", 786, nullptr },
+ { "dotmath", 250, nullptr },
+ { "integralex", 686, nullptr },
+ { "chi", 549, nullptr },
+ { "parenrighttp", 384, nullptr },
+ { "eta", 603, nullptr },
+ { "underscore", 500, nullptr },
+ { "Euro", 750, nullptr },
+ { "multiply", 549, nullptr },
+ { "zero", 500, nullptr },
+ { "partialdiff", 494, nullptr },
+ { "angle", 768, nullptr },
+ { "arrowdblleft", 987, nullptr },
+ { "braceleft", 480, nullptr },
+ { "parenrightex", 384, nullptr },
+ { "Rfraktur", 795, nullptr },
+ { "Zeta", 611, nullptr },
+ { "braceex", 494, nullptr },
+ { "arrowdblup", 603, nullptr },
+ { "arrowdown", 603, nullptr },
+ { "Ifraktur", 686, nullptr },
+ { "degree", 400, nullptr },
+ { "Iota", 333, nullptr },
+ { "perpendicular", 658, nullptr },
+ { "radical", 549, nullptr },
+ { "asteriskmath", 500, nullptr },
+ { "percent", 833, nullptr },
+ { "zeta", 494, nullptr },
+ { "six", 500, nullptr },
+ { "two", 500, nullptr },
+ { "weierstrass", 987, nullptr },
+ { "summation", 713, nullptr },
+ { "bracketrighttp", 384, nullptr },
+ { "carriagereturn", 658, nullptr },
+ { "suchthat", 439, nullptr },
+ { "arrowvertex", 603, nullptr },
+ { "Delta", 612, nullptr },
+ { "iota", 329, nullptr },
+ { "arrowhorizex", 1000, nullptr },
+ { "bracketrightex", 384, nullptr },
+ { "bracketright", 333, nullptr },
+ { "ampersand", 778, nullptr },
+ { "plus", 549, nullptr },
+ { "proportional", 713, nullptr },
+ { "delta", 494, nullptr },
+ { "copyrightserif", 790, nullptr },
+ { "bracerightmid", 494, nullptr },
+ { "arrowleft", 987, nullptr },
+ { "second", 411, nullptr },
+ { "arrowdblboth", 1042, nullptr },
+ { "florin", 500, nullptr },
+ { "Psi", 795, nullptr },
+ { "bracerightbt", 494, nullptr },
+ { "bracketleftbt", 384, nullptr },
+ { "seven", 500, nullptr },
+ { "braceleftmid", 494, nullptr },
+ { "notequal", 549, nullptr },
+ { "psi", 686, nullptr },
+ { "equivalence", 549, nullptr },
+ { "universal", 713, nullptr },
+ { "arrowdblright", 987, nullptr },
+ { "braceright", 480, nullptr },
+ { "reflexsubset", 713, nullptr },
+ { "Xi", 645, nullptr },
+ { "theta1", 631, nullptr },
+ { "logicalnot", 713, nullptr },
+ { "Kappa", 722, nullptr },
+ { "similar", 549, nullptr },
+ { "bar", 200, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 549, nullptr },
+ { "registersans", 790, nullptr },
+ { "omega1", 713, nullptr },
+ { "exclam", 333, nullptr },
+ { "Upsilon1", 620, nullptr },
+ { "bracerighttp", 494, nullptr },
+ { "xi", 493, nullptr },
+ { "period", 250, nullptr },
+ { "Alpha", 722, nullptr },
+ { "arrowright", 987, nullptr },
+ { "greater", 549, nullptr },
+ { "bracketlefttp", 384, nullptr },
+ { "kappa", 549, nullptr },
+ { "gradient", 713, nullptr },
+ { "integral", 274, nullptr },
+ { "arrowboth", 1042, nullptr },
+ { "Beta", 667, nullptr }
};
static BuiltinFontWidth timesBoldWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 444, NULL },
- { "kcommaaccent", 556, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 667, NULL },
- { "comma", 250, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 570, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 444, NULL },
- { "asciitilde", 520, NULL },
- { "colon", 333, NULL },
- { "onehalf", 750, NULL },
- { "dollar", 500, NULL },
- { "Lcaron", 667, NULL },
- { "ntilde", 556, NULL },
- { "Aogonek", 722, NULL },
- { "ncommaaccent", 556, NULL },
- { "minus", 570, NULL },
- { "Iogonek", 389, NULL },
- { "zacute", 444, NULL },
- { "yen", 500, NULL },
- { "space", 250, NULL },
- { "Omacron", 778, NULL },
- { "questiondown", 500, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 722, NULL },
- { "three", 500, NULL },
- { "numbersign", 500, NULL },
- { "lcaron", 394, NULL },
- { "A", 722, NULL },
- { "B", 667, NULL },
- { "C", 722, NULL },
- { "aogonek", 500, NULL },
- { "D", 722, NULL },
- { "E", 667, NULL },
- { "onequarter", 750, NULL },
- { "F", 611, NULL },
- { "G", 778, NULL },
- { "H", 778, NULL },
- { "I", 389, NULL },
- { "J", 500, NULL },
- { "K", 778, NULL },
- { "iogonek", 278, NULL },
- { "backslash", 278, NULL },
- { "L", 667, NULL },
- { "periodcentered", 250, NULL },
- { "M", 944, NULL },
- { "N", 722, NULL },
- { "omacron", 500, NULL },
- { "Tcommaaccent", 667, NULL },
- { "O", 778, NULL },
- { "P", 611, NULL },
- { "Q", 778, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 722, NULL },
- { "Aacute", 722, NULL },
- { "caron", 333, NULL },
- { "S", 556, NULL },
- { "T", 667, NULL },
- { "U", 722, NULL },
- { "agrave", 500, NULL },
- { "V", 722, NULL },
- { "W", 1000, NULL },
- { "X", 722, NULL },
- { "question", 500, NULL },
- { "equal", 570, NULL },
- { "Y", 722, NULL },
- { "Z", 667, NULL },
- { "four", 500, NULL },
- { "a", 500, NULL },
- { "Gcommaaccent", 778, NULL },
- { "b", 556, NULL },
- { "c", 444, NULL },
- { "d", 556, NULL },
- { "e", 444, NULL },
- { "f", 333, NULL },
- { "g", 500, NULL },
- { "bullet", 350, NULL },
- { "h", 556, NULL },
- { "i", 278, NULL },
- { "Oslash", 778, NULL },
- { "dagger", 500, NULL },
- { "j", 333, NULL },
- { "k", 556, NULL },
- { "l", 278, NULL },
- { "m", 833, NULL },
- { "n", 556, NULL },
- { "tcommaaccent", 333, NULL },
- { "o", 500, NULL },
- { "ordfeminine", 300, NULL },
- { "ring", 333, NULL },
- { "p", 556, NULL },
- { "q", 556, NULL },
- { "uhungarumlaut", 556, NULL },
- { "r", 444, NULL },
- { "twosuperior", 300, NULL },
- { "aacute", 500, NULL },
- { "s", 389, NULL },
- { "OE", 1000, NULL },
- { "t", 333, NULL },
- { "divide", 570, NULL },
- { "u", 556, NULL },
- { "Ccaron", 722, NULL },
- { "v", 500, NULL },
- { "w", 722, NULL },
- { "x", 500, NULL },
- { "y", 500, NULL },
- { "z", 444, NULL },
- { "Gbreve", 778, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 389, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 555, NULL },
- { "gcommaaccent", 500, NULL },
- { "mu", 556, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 556, NULL },
- { "Lslash", 667, NULL },
- { "semicolon", 333, NULL },
- { "oslash", 500, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 494, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 444, NULL },
- { "Ecircumflex", 667, NULL },
- { "gbreve", 500, NULL },
- { "trademark", 1000, NULL },
- { "daggerdbl", 500, NULL },
- { "nacute", 556, NULL },
- { "macron", 333, NULL },
- { "Otilde", 778, NULL },
- { "Emacron", 667, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 389, NULL },
- { "AE", 1000, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 278, NULL },
- { "quotedblleft", 500, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 278, NULL },
- { "eight", 500, NULL },
- { "exclamdown", 333, NULL },
- { "endash", 500, NULL },
- { "oe", 722, NULL },
- { "Abreve", 722, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 444, NULL },
- { "Adieresis", 722, NULL },
- { "copyright", 747, NULL },
- { "Egrave", 667, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 667, NULL },
- { "otilde", 500, NULL },
- { "Idieresis", 389, NULL },
- { "parenleft", 333, NULL },
- { "one", 500, NULL },
- { "emacron", 444, NULL },
- { "Odieresis", 778, NULL },
- { "ucircumflex", 556, NULL },
- { "bracketleft", 333, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 333, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 722, NULL },
- { "umacron", 556, NULL },
- { "abreve", 500, NULL },
- { "Eacute", 667, NULL },
- { "adieresis", 500, NULL },
- { "egrave", 444, NULL },
- { "edieresis", 444, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 722, NULL },
- { "asterisk", 500, NULL },
- { "odieresis", 500, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 556, NULL },
- { "nine", 500, NULL },
- { "five", 500, NULL },
- { "udieresis", 556, NULL },
- { "Zcaron", 667, NULL },
- { "Scommaaccent", 556, NULL },
- { "threequarters", 750, NULL },
- { "guillemotright", 500, NULL },
- { "Ccedilla", 722, NULL },
- { "ydieresis", 500, NULL },
- { "tilde", 333, NULL },
- { "at", 930, NULL },
- { "eacute", 444, NULL },
- { "underscore", 500, NULL },
- { "Euro", 500, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 570, NULL },
- { "zero", 500, NULL },
- { "eth", 500, NULL },
- { "Scedilla", 556, NULL },
- { "Ograve", 778, NULL },
- { "Racute", 722, NULL },
- { "partialdiff", 494, NULL },
- { "uacute", 556, NULL },
- { "braceleft", 394, NULL },
- { "Thorn", 611, NULL },
- { "zcaron", 444, NULL },
- { "scommaaccent", 389, NULL },
- { "ccedilla", 444, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 556, NULL },
- { "Ocircumflex", 778, NULL },
- { "Oacute", 778, NULL },
- { "scedilla", 389, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 500, NULL },
- { "racute", 444, NULL },
- { "Tcaron", 667, NULL },
- { "Eogonek", 667, NULL },
- { "thorn", 556, NULL },
- { "degree", 400, NULL },
- { "registered", 747, NULL },
- { "radical", 549, NULL },
- { "Aring", 722, NULL },
- { "percent", 1000, NULL },
- { "six", 500, NULL },
- { "paragraph", 540, NULL },
- { "dcaron", 672, NULL },
- { "Uogonek", 722, NULL },
- { "two", 500, NULL },
- { "summation", 600, NULL },
- { "Igrave", 389, NULL },
- { "Lacute", 667, NULL },
- { "ocircumflex", 500, NULL },
- { "oacute", 500, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 667, NULL },
- { "tcaron", 416, NULL },
- { "eogonek", 444, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 778, NULL },
- { "asciicircum", 581, NULL },
- { "aring", 500, NULL },
- { "grave", 333, NULL },
- { "uogonek", 556, NULL },
- { "bracketright", 333, NULL },
- { "Iacute", 389, NULL },
- { "ampersand", 833, NULL },
- { "igrave", 278, NULL },
- { "lacute", 278, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 570, NULL },
- { "uring", 556, NULL },
- { "quotesinglbase", 333, NULL },
- { "lcommaaccent", 278, NULL },
- { "Yacute", 722, NULL },
- { "ohungarumlaut", 500, NULL },
- { "threesuperior", 300, NULL },
- { "acute", 333, NULL },
- { "section", 500, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 500, NULL },
- { "ncaron", 556, NULL },
- { "florin", 500, NULL },
- { "yacute", 500, NULL },
- { "Rcommaaccent", 722, NULL },
- { "fi", 556, NULL },
- { "fl", 556, NULL },
- { "Acircumflex", 722, NULL },
- { "Cacute", 722, NULL },
- { "Icircumflex", 389, NULL },
- { "guillemotleft", 500, NULL },
- { "germandbls", 556, NULL },
- { "Amacron", 722, NULL },
- { "seven", 500, NULL },
- { "Sacute", 556, NULL },
- { "ordmasculine", 330, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 500, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 389, NULL },
- { "rcommaaccent", 444, NULL },
- { "Zdotaccent", 667, NULL },
- { "acircumflex", 500, NULL },
- { "cacute", 444, NULL },
- { "Ecaron", 667, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 394, NULL },
- { "quotedblright", 500, NULL },
- { "amacron", 500, NULL },
- { "sacute", 389, NULL },
- { "imacron", 278, NULL },
- { "cent", 500, NULL },
- { "currency", 500, NULL },
- { "logicalnot", 570, NULL },
- { "zdotaccent", 444, NULL },
- { "Atilde", 722, NULL },
- { "breve", 333, NULL },
- { "bar", 220, NULL },
- { "fraction", 167, NULL },
- { "less", 570, NULL },
- { "ecaron", 444, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 333, NULL },
- { "period", 250, NULL },
- { "Rcaron", 722, NULL },
- { "Kcommaaccent", 778, NULL },
- { "greater", 570, NULL },
- { "atilde", 500, NULL },
- { "brokenbar", 220, NULL },
- { "quoteleft", 333, NULL },
- { "Edotaccent", 667, NULL },
- { "onesuperior", 300, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 444, nullptr },
+ { "kcommaaccent", 556, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 667, nullptr },
+ { "comma", 250, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 570, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 444, nullptr },
+ { "asciitilde", 520, nullptr },
+ { "colon", 333, nullptr },
+ { "onehalf", 750, nullptr },
+ { "dollar", 500, nullptr },
+ { "Lcaron", 667, nullptr },
+ { "ntilde", 556, nullptr },
+ { "Aogonek", 722, nullptr },
+ { "ncommaaccent", 556, nullptr },
+ { "minus", 570, nullptr },
+ { "Iogonek", 389, nullptr },
+ { "zacute", 444, nullptr },
+ { "yen", 500, nullptr },
+ { "space", 250, nullptr },
+ { "Omacron", 778, nullptr },
+ { "questiondown", 500, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 722, nullptr },
+ { "three", 500, nullptr },
+ { "numbersign", 500, nullptr },
+ { "lcaron", 394, nullptr },
+ { "A", 722, nullptr },
+ { "B", 667, nullptr },
+ { "C", 722, nullptr },
+ { "aogonek", 500, nullptr },
+ { "D", 722, nullptr },
+ { "E", 667, nullptr },
+ { "onequarter", 750, nullptr },
+ { "F", 611, nullptr },
+ { "G", 778, nullptr },
+ { "H", 778, nullptr },
+ { "I", 389, nullptr },
+ { "J", 500, nullptr },
+ { "K", 778, nullptr },
+ { "iogonek", 278, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 667, nullptr },
+ { "periodcentered", 250, nullptr },
+ { "M", 944, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 500, nullptr },
+ { "Tcommaaccent", 667, nullptr },
+ { "O", 778, nullptr },
+ { "P", 611, nullptr },
+ { "Q", 778, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 722, nullptr },
+ { "Aacute", 722, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 556, nullptr },
+ { "T", 667, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 500, nullptr },
+ { "V", 722, nullptr },
+ { "W", 1000, nullptr },
+ { "X", 722, nullptr },
+ { "question", 500, nullptr },
+ { "equal", 570, nullptr },
+ { "Y", 722, nullptr },
+ { "Z", 667, nullptr },
+ { "four", 500, nullptr },
+ { "a", 500, nullptr },
+ { "Gcommaaccent", 778, nullptr },
+ { "b", 556, nullptr },
+ { "c", 444, nullptr },
+ { "d", 556, nullptr },
+ { "e", 444, nullptr },
+ { "f", 333, nullptr },
+ { "g", 500, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 556, nullptr },
+ { "i", 278, nullptr },
+ { "Oslash", 778, nullptr },
+ { "dagger", 500, nullptr },
+ { "j", 333, nullptr },
+ { "k", 556, nullptr },
+ { "l", 278, nullptr },
+ { "m", 833, nullptr },
+ { "n", 556, nullptr },
+ { "tcommaaccent", 333, nullptr },
+ { "o", 500, nullptr },
+ { "ordfeminine", 300, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 556, nullptr },
+ { "q", 556, nullptr },
+ { "uhungarumlaut", 556, nullptr },
+ { "r", 444, nullptr },
+ { "twosuperior", 300, nullptr },
+ { "aacute", 500, nullptr },
+ { "s", 389, nullptr },
+ { "OE", 1000, nullptr },
+ { "t", 333, nullptr },
+ { "divide", 570, nullptr },
+ { "u", 556, nullptr },
+ { "Ccaron", 722, nullptr },
+ { "v", 500, nullptr },
+ { "w", 722, nullptr },
+ { "x", 500, nullptr },
+ { "y", 500, nullptr },
+ { "z", 444, nullptr },
+ { "Gbreve", 778, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 389, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 555, nullptr },
+ { "gcommaaccent", 500, nullptr },
+ { "mu", 556, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 556, nullptr },
+ { "Lslash", 667, nullptr },
+ { "semicolon", 333, nullptr },
+ { "oslash", 500, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 494, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 444, nullptr },
+ { "Ecircumflex", 667, nullptr },
+ { "gbreve", 500, nullptr },
+ { "trademark", 1000, nullptr },
+ { "daggerdbl", 500, nullptr },
+ { "nacute", 556, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 778, nullptr },
+ { "Emacron", 667, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 389, nullptr },
+ { "AE", 1000, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 278, nullptr },
+ { "quotedblleft", 500, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 278, nullptr },
+ { "eight", 500, nullptr },
+ { "exclamdown", 333, nullptr },
+ { "endash", 500, nullptr },
+ { "oe", 722, nullptr },
+ { "Abreve", 722, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 444, nullptr },
+ { "Adieresis", 722, nullptr },
+ { "copyright", 747, nullptr },
+ { "Egrave", 667, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 667, nullptr },
+ { "otilde", 500, nullptr },
+ { "Idieresis", 389, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 500, nullptr },
+ { "emacron", 444, nullptr },
+ { "Odieresis", 778, nullptr },
+ { "ucircumflex", 556, nullptr },
+ { "bracketleft", 333, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 333, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 722, nullptr },
+ { "umacron", 556, nullptr },
+ { "abreve", 500, nullptr },
+ { "Eacute", 667, nullptr },
+ { "adieresis", 500, nullptr },
+ { "egrave", 444, nullptr },
+ { "edieresis", 444, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 722, nullptr },
+ { "asterisk", 500, nullptr },
+ { "odieresis", 500, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 556, nullptr },
+ { "nine", 500, nullptr },
+ { "five", 500, nullptr },
+ { "udieresis", 556, nullptr },
+ { "Zcaron", 667, nullptr },
+ { "Scommaaccent", 556, nullptr },
+ { "threequarters", 750, nullptr },
+ { "guillemotright", 500, nullptr },
+ { "Ccedilla", 722, nullptr },
+ { "ydieresis", 500, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 930, nullptr },
+ { "eacute", 444, nullptr },
+ { "underscore", 500, nullptr },
+ { "Euro", 500, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 570, nullptr },
+ { "zero", 500, nullptr },
+ { "eth", 500, nullptr },
+ { "Scedilla", 556, nullptr },
+ { "Ograve", 778, nullptr },
+ { "Racute", 722, nullptr },
+ { "partialdiff", 494, nullptr },
+ { "uacute", 556, nullptr },
+ { "braceleft", 394, nullptr },
+ { "Thorn", 611, nullptr },
+ { "zcaron", 444, nullptr },
+ { "scommaaccent", 389, nullptr },
+ { "ccedilla", 444, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 556, nullptr },
+ { "Ocircumflex", 778, nullptr },
+ { "Oacute", 778, nullptr },
+ { "scedilla", 389, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 500, nullptr },
+ { "racute", 444, nullptr },
+ { "Tcaron", 667, nullptr },
+ { "Eogonek", 667, nullptr },
+ { "thorn", 556, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 747, nullptr },
+ { "radical", 549, nullptr },
+ { "Aring", 722, nullptr },
+ { "percent", 1000, nullptr },
+ { "six", 500, nullptr },
+ { "paragraph", 540, nullptr },
+ { "dcaron", 672, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 500, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 389, nullptr },
+ { "Lacute", 667, nullptr },
+ { "ocircumflex", 500, nullptr },
+ { "oacute", 500, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 667, nullptr },
+ { "tcaron", 416, nullptr },
+ { "eogonek", 444, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 778, nullptr },
+ { "asciicircum", 581, nullptr },
+ { "aring", 500, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 556, nullptr },
+ { "bracketright", 333, nullptr },
+ { "Iacute", 389, nullptr },
+ { "ampersand", 833, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 278, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 570, nullptr },
+ { "uring", 556, nullptr },
+ { "quotesinglbase", 333, nullptr },
+ { "lcommaaccent", 278, nullptr },
+ { "Yacute", 722, nullptr },
+ { "ohungarumlaut", 500, nullptr },
+ { "threesuperior", 300, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 500, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 500, nullptr },
+ { "ncaron", 556, nullptr },
+ { "florin", 500, nullptr },
+ { "yacute", 500, nullptr },
+ { "Rcommaaccent", 722, nullptr },
+ { "fi", 556, nullptr },
+ { "fl", 556, nullptr },
+ { "Acircumflex", 722, nullptr },
+ { "Cacute", 722, nullptr },
+ { "Icircumflex", 389, nullptr },
+ { "guillemotleft", 500, nullptr },
+ { "germandbls", 556, nullptr },
+ { "Amacron", 722, nullptr },
+ { "seven", 500, nullptr },
+ { "Sacute", 556, nullptr },
+ { "ordmasculine", 330, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 500, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 389, nullptr },
+ { "rcommaaccent", 444, nullptr },
+ { "Zdotaccent", 667, nullptr },
+ { "acircumflex", 500, nullptr },
+ { "cacute", 444, nullptr },
+ { "Ecaron", 667, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 394, nullptr },
+ { "quotedblright", 500, nullptr },
+ { "amacron", 500, nullptr },
+ { "sacute", 389, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 500, nullptr },
+ { "currency", 500, nullptr },
+ { "logicalnot", 570, nullptr },
+ { "zdotaccent", 444, nullptr },
+ { "Atilde", 722, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 220, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 570, nullptr },
+ { "ecaron", 444, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 333, nullptr },
+ { "period", 250, nullptr },
+ { "Rcaron", 722, nullptr },
+ { "Kcommaaccent", 778, nullptr },
+ { "greater", 570, nullptr },
+ { "atilde", 500, nullptr },
+ { "brokenbar", 220, nullptr },
+ { "quoteleft", 333, nullptr },
+ { "Edotaccent", 667, nullptr },
+ { "onesuperior", 300, nullptr }
};
static BuiltinFontWidth timesBoldItalicWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 389, NULL },
- { "kcommaaccent", 500, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 611, NULL },
- { "comma", 250, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 570, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 444, NULL },
- { "asciitilde", 570, NULL },
- { "colon", 333, NULL },
- { "onehalf", 750, NULL },
- { "dollar", 500, NULL },
- { "Lcaron", 611, NULL },
- { "ntilde", 556, NULL },
- { "Aogonek", 667, NULL },
- { "ncommaaccent", 556, NULL },
- { "minus", 606, NULL },
- { "Iogonek", 389, NULL },
- { "zacute", 389, NULL },
- { "yen", 500, NULL },
- { "space", 250, NULL },
- { "Omacron", 722, NULL },
- { "questiondown", 500, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 667, NULL },
- { "three", 500, NULL },
- { "numbersign", 500, NULL },
- { "lcaron", 382, NULL },
- { "A", 667, NULL },
- { "B", 667, NULL },
- { "C", 667, NULL },
- { "aogonek", 500, NULL },
- { "D", 722, NULL },
- { "E", 667, NULL },
- { "onequarter", 750, NULL },
- { "F", 667, NULL },
- { "G", 722, NULL },
- { "H", 778, NULL },
- { "I", 389, NULL },
- { "J", 500, NULL },
- { "K", 667, NULL },
- { "iogonek", 278, NULL },
- { "backslash", 278, NULL },
- { "L", 611, NULL },
- { "periodcentered", 250, NULL },
- { "M", 889, NULL },
- { "N", 722, NULL },
- { "omacron", 500, NULL },
- { "Tcommaaccent", 611, NULL },
- { "O", 722, NULL },
- { "P", 611, NULL },
- { "Q", 722, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 667, NULL },
- { "Aacute", 667, NULL },
- { "caron", 333, NULL },
- { "S", 556, NULL },
- { "T", 611, NULL },
- { "U", 722, NULL },
- { "agrave", 500, NULL },
- { "V", 667, NULL },
- { "W", 889, NULL },
- { "X", 667, NULL },
- { "question", 500, NULL },
- { "equal", 570, NULL },
- { "Y", 611, NULL },
- { "Z", 611, NULL },
- { "four", 500, NULL },
- { "a", 500, NULL },
- { "Gcommaaccent", 722, NULL },
- { "b", 500, NULL },
- { "c", 444, NULL },
- { "d", 500, NULL },
- { "e", 444, NULL },
- { "f", 333, NULL },
- { "g", 500, NULL },
- { "bullet", 350, NULL },
- { "h", 556, NULL },
- { "i", 278, NULL },
- { "Oslash", 722, NULL },
- { "dagger", 500, NULL },
- { "j", 278, NULL },
- { "k", 500, NULL },
- { "l", 278, NULL },
- { "m", 778, NULL },
- { "n", 556, NULL },
- { "tcommaaccent", 278, NULL },
- { "o", 500, NULL },
- { "ordfeminine", 266, NULL },
- { "ring", 333, NULL },
- { "p", 500, NULL },
- { "q", 500, NULL },
- { "uhungarumlaut", 556, NULL },
- { "r", 389, NULL },
- { "twosuperior", 300, NULL },
- { "aacute", 500, NULL },
- { "s", 389, NULL },
- { "OE", 944, NULL },
- { "t", 278, NULL },
- { "divide", 570, NULL },
- { "u", 556, NULL },
- { "Ccaron", 667, NULL },
- { "v", 444, NULL },
- { "w", 667, NULL },
- { "x", 500, NULL },
- { "y", 444, NULL },
- { "z", 389, NULL },
- { "Gbreve", 722, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 389, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 555, NULL },
- { "gcommaaccent", 500, NULL },
- { "mu", 576, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 556, NULL },
- { "Lslash", 611, NULL },
- { "semicolon", 333, NULL },
- { "oslash", 500, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 494, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 444, NULL },
- { "Ecircumflex", 667, NULL },
- { "gbreve", 500, NULL },
- { "trademark", 1000, NULL },
- { "daggerdbl", 500, NULL },
- { "nacute", 556, NULL },
- { "macron", 333, NULL },
- { "Otilde", 722, NULL },
- { "Emacron", 667, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 389, NULL },
- { "AE", 944, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 278, NULL },
- { "quotedblleft", 500, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 278, NULL },
- { "eight", 500, NULL },
- { "exclamdown", 389, NULL },
- { "endash", 500, NULL },
- { "oe", 722, NULL },
- { "Abreve", 667, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 444, NULL },
- { "Adieresis", 667, NULL },
- { "copyright", 747, NULL },
- { "Egrave", 667, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 667, NULL },
- { "otilde", 500, NULL },
- { "Idieresis", 389, NULL },
- { "parenleft", 333, NULL },
- { "one", 500, NULL },
- { "emacron", 444, NULL },
- { "Odieresis", 722, NULL },
- { "ucircumflex", 556, NULL },
- { "bracketleft", 333, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 333, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 611, NULL },
- { "umacron", 556, NULL },
- { "abreve", 500, NULL },
- { "Eacute", 667, NULL },
- { "adieresis", 500, NULL },
- { "egrave", 444, NULL },
- { "edieresis", 444, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 722, NULL },
- { "asterisk", 500, NULL },
- { "odieresis", 500, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 556, NULL },
- { "nine", 500, NULL },
- { "five", 500, NULL },
- { "udieresis", 556, NULL },
- { "Zcaron", 611, NULL },
- { "Scommaaccent", 556, NULL },
- { "threequarters", 750, NULL },
- { "guillemotright", 500, NULL },
- { "Ccedilla", 667, NULL },
- { "ydieresis", 444, NULL },
- { "tilde", 333, NULL },
- { "at", 832, NULL },
- { "eacute", 444, NULL },
- { "underscore", 500, NULL },
- { "Euro", 500, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 570, NULL },
- { "zero", 500, NULL },
- { "eth", 500, NULL },
- { "Scedilla", 556, NULL },
- { "Ograve", 722, NULL },
- { "Racute", 667, NULL },
- { "partialdiff", 494, NULL },
- { "uacute", 556, NULL },
- { "braceleft", 348, NULL },
- { "Thorn", 611, NULL },
- { "zcaron", 389, NULL },
- { "scommaaccent", 389, NULL },
- { "ccedilla", 444, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 500, NULL },
- { "Ocircumflex", 722, NULL },
- { "Oacute", 722, NULL },
- { "scedilla", 389, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 500, NULL },
- { "racute", 389, NULL },
- { "Tcaron", 611, NULL },
- { "Eogonek", 667, NULL },
- { "thorn", 500, NULL },
- { "degree", 400, NULL },
- { "registered", 747, NULL },
- { "radical", 549, NULL },
- { "Aring", 667, NULL },
- { "percent", 833, NULL },
- { "six", 500, NULL },
- { "paragraph", 500, NULL },
- { "dcaron", 608, NULL },
- { "Uogonek", 722, NULL },
- { "two", 500, NULL },
- { "summation", 600, NULL },
- { "Igrave", 389, NULL },
- { "Lacute", 611, NULL },
- { "ocircumflex", 500, NULL },
- { "oacute", 500, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 611, NULL },
- { "tcaron", 366, NULL },
- { "eogonek", 444, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 722, NULL },
- { "asciicircum", 570, NULL },
- { "aring", 500, NULL },
- { "grave", 333, NULL },
- { "uogonek", 556, NULL },
- { "bracketright", 333, NULL },
- { "Iacute", 389, NULL },
- { "ampersand", 778, NULL },
- { "igrave", 278, NULL },
- { "lacute", 278, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 570, NULL },
- { "uring", 556, NULL },
- { "quotesinglbase", 333, NULL },
- { "lcommaaccent", 278, NULL },
- { "Yacute", 611, NULL },
- { "ohungarumlaut", 500, NULL },
- { "threesuperior", 300, NULL },
- { "acute", 333, NULL },
- { "section", 500, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 500, NULL },
- { "ncaron", 556, NULL },
- { "florin", 500, NULL },
- { "yacute", 444, NULL },
- { "Rcommaaccent", 667, NULL },
- { "fi", 556, NULL },
- { "fl", 556, NULL },
- { "Acircumflex", 667, NULL },
- { "Cacute", 667, NULL },
- { "Icircumflex", 389, NULL },
- { "guillemotleft", 500, NULL },
- { "germandbls", 500, NULL },
- { "Amacron", 667, NULL },
- { "seven", 500, NULL },
- { "Sacute", 556, NULL },
- { "ordmasculine", 300, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 500, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 389, NULL },
- { "rcommaaccent", 389, NULL },
- { "Zdotaccent", 611, NULL },
- { "acircumflex", 500, NULL },
- { "cacute", 444, NULL },
- { "Ecaron", 667, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 348, NULL },
- { "quotedblright", 500, NULL },
- { "amacron", 500, NULL },
- { "sacute", 389, NULL },
- { "imacron", 278, NULL },
- { "cent", 500, NULL },
- { "currency", 500, NULL },
- { "logicalnot", 606, NULL },
- { "zdotaccent", 389, NULL },
- { "Atilde", 667, NULL },
- { "breve", 333, NULL },
- { "bar", 220, NULL },
- { "fraction", 167, NULL },
- { "less", 570, NULL },
- { "ecaron", 444, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 389, NULL },
- { "period", 250, NULL },
- { "Rcaron", 667, NULL },
- { "Kcommaaccent", 667, NULL },
- { "greater", 570, NULL },
- { "atilde", 500, NULL },
- { "brokenbar", 220, NULL },
- { "quoteleft", 333, NULL },
- { "Edotaccent", 667, NULL },
- { "onesuperior", 300, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 389, nullptr },
+ { "kcommaaccent", 500, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 611, nullptr },
+ { "comma", 250, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 570, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 444, nullptr },
+ { "asciitilde", 570, nullptr },
+ { "colon", 333, nullptr },
+ { "onehalf", 750, nullptr },
+ { "dollar", 500, nullptr },
+ { "Lcaron", 611, nullptr },
+ { "ntilde", 556, nullptr },
+ { "Aogonek", 667, nullptr },
+ { "ncommaaccent", 556, nullptr },
+ { "minus", 606, nullptr },
+ { "Iogonek", 389, nullptr },
+ { "zacute", 389, nullptr },
+ { "yen", 500, nullptr },
+ { "space", 250, nullptr },
+ { "Omacron", 722, nullptr },
+ { "questiondown", 500, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 667, nullptr },
+ { "three", 500, nullptr },
+ { "numbersign", 500, nullptr },
+ { "lcaron", 382, nullptr },
+ { "A", 667, nullptr },
+ { "B", 667, nullptr },
+ { "C", 667, nullptr },
+ { "aogonek", 500, nullptr },
+ { "D", 722, nullptr },
+ { "E", 667, nullptr },
+ { "onequarter", 750, nullptr },
+ { "F", 667, nullptr },
+ { "G", 722, nullptr },
+ { "H", 778, nullptr },
+ { "I", 389, nullptr },
+ { "J", 500, nullptr },
+ { "K", 667, nullptr },
+ { "iogonek", 278, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 611, nullptr },
+ { "periodcentered", 250, nullptr },
+ { "M", 889, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 500, nullptr },
+ { "Tcommaaccent", 611, nullptr },
+ { "O", 722, nullptr },
+ { "P", 611, nullptr },
+ { "Q", 722, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 667, nullptr },
+ { "Aacute", 667, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 556, nullptr },
+ { "T", 611, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 500, nullptr },
+ { "V", 667, nullptr },
+ { "W", 889, nullptr },
+ { "X", 667, nullptr },
+ { "question", 500, nullptr },
+ { "equal", 570, nullptr },
+ { "Y", 611, nullptr },
+ { "Z", 611, nullptr },
+ { "four", 500, nullptr },
+ { "a", 500, nullptr },
+ { "Gcommaaccent", 722, nullptr },
+ { "b", 500, nullptr },
+ { "c", 444, nullptr },
+ { "d", 500, nullptr },
+ { "e", 444, nullptr },
+ { "f", 333, nullptr },
+ { "g", 500, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 556, nullptr },
+ { "i", 278, nullptr },
+ { "Oslash", 722, nullptr },
+ { "dagger", 500, nullptr },
+ { "j", 278, nullptr },
+ { "k", 500, nullptr },
+ { "l", 278, nullptr },
+ { "m", 778, nullptr },
+ { "n", 556, nullptr },
+ { "tcommaaccent", 278, nullptr },
+ { "o", 500, nullptr },
+ { "ordfeminine", 266, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 500, nullptr },
+ { "q", 500, nullptr },
+ { "uhungarumlaut", 556, nullptr },
+ { "r", 389, nullptr },
+ { "twosuperior", 300, nullptr },
+ { "aacute", 500, nullptr },
+ { "s", 389, nullptr },
+ { "OE", 944, nullptr },
+ { "t", 278, nullptr },
+ { "divide", 570, nullptr },
+ { "u", 556, nullptr },
+ { "Ccaron", 667, nullptr },
+ { "v", 444, nullptr },
+ { "w", 667, nullptr },
+ { "x", 500, nullptr },
+ { "y", 444, nullptr },
+ { "z", 389, nullptr },
+ { "Gbreve", 722, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 389, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 555, nullptr },
+ { "gcommaaccent", 500, nullptr },
+ { "mu", 576, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 556, nullptr },
+ { "Lslash", 611, nullptr },
+ { "semicolon", 333, nullptr },
+ { "oslash", 500, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 494, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 444, nullptr },
+ { "Ecircumflex", 667, nullptr },
+ { "gbreve", 500, nullptr },
+ { "trademark", 1000, nullptr },
+ { "daggerdbl", 500, nullptr },
+ { "nacute", 556, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 722, nullptr },
+ { "Emacron", 667, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 389, nullptr },
+ { "AE", 944, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 278, nullptr },
+ { "quotedblleft", 500, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 278, nullptr },
+ { "eight", 500, nullptr },
+ { "exclamdown", 389, nullptr },
+ { "endash", 500, nullptr },
+ { "oe", 722, nullptr },
+ { "Abreve", 667, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 444, nullptr },
+ { "Adieresis", 667, nullptr },
+ { "copyright", 747, nullptr },
+ { "Egrave", 667, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 667, nullptr },
+ { "otilde", 500, nullptr },
+ { "Idieresis", 389, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 500, nullptr },
+ { "emacron", 444, nullptr },
+ { "Odieresis", 722, nullptr },
+ { "ucircumflex", 556, nullptr },
+ { "bracketleft", 333, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 333, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 611, nullptr },
+ { "umacron", 556, nullptr },
+ { "abreve", 500, nullptr },
+ { "Eacute", 667, nullptr },
+ { "adieresis", 500, nullptr },
+ { "egrave", 444, nullptr },
+ { "edieresis", 444, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 722, nullptr },
+ { "asterisk", 500, nullptr },
+ { "odieresis", 500, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 556, nullptr },
+ { "nine", 500, nullptr },
+ { "five", 500, nullptr },
+ { "udieresis", 556, nullptr },
+ { "Zcaron", 611, nullptr },
+ { "Scommaaccent", 556, nullptr },
+ { "threequarters", 750, nullptr },
+ { "guillemotright", 500, nullptr },
+ { "Ccedilla", 667, nullptr },
+ { "ydieresis", 444, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 832, nullptr },
+ { "eacute", 444, nullptr },
+ { "underscore", 500, nullptr },
+ { "Euro", 500, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 570, nullptr },
+ { "zero", 500, nullptr },
+ { "eth", 500, nullptr },
+ { "Scedilla", 556, nullptr },
+ { "Ograve", 722, nullptr },
+ { "Racute", 667, nullptr },
+ { "partialdiff", 494, nullptr },
+ { "uacute", 556, nullptr },
+ { "braceleft", 348, nullptr },
+ { "Thorn", 611, nullptr },
+ { "zcaron", 389, nullptr },
+ { "scommaaccent", 389, nullptr },
+ { "ccedilla", 444, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 500, nullptr },
+ { "Ocircumflex", 722, nullptr },
+ { "Oacute", 722, nullptr },
+ { "scedilla", 389, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 500, nullptr },
+ { "racute", 389, nullptr },
+ { "Tcaron", 611, nullptr },
+ { "Eogonek", 667, nullptr },
+ { "thorn", 500, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 747, nullptr },
+ { "radical", 549, nullptr },
+ { "Aring", 667, nullptr },
+ { "percent", 833, nullptr },
+ { "six", 500, nullptr },
+ { "paragraph", 500, nullptr },
+ { "dcaron", 608, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 500, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 389, nullptr },
+ { "Lacute", 611, nullptr },
+ { "ocircumflex", 500, nullptr },
+ { "oacute", 500, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 611, nullptr },
+ { "tcaron", 366, nullptr },
+ { "eogonek", 444, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 722, nullptr },
+ { "asciicircum", 570, nullptr },
+ { "aring", 500, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 556, nullptr },
+ { "bracketright", 333, nullptr },
+ { "Iacute", 389, nullptr },
+ { "ampersand", 778, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 278, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 570, nullptr },
+ { "uring", 556, nullptr },
+ { "quotesinglbase", 333, nullptr },
+ { "lcommaaccent", 278, nullptr },
+ { "Yacute", 611, nullptr },
+ { "ohungarumlaut", 500, nullptr },
+ { "threesuperior", 300, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 500, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 500, nullptr },
+ { "ncaron", 556, nullptr },
+ { "florin", 500, nullptr },
+ { "yacute", 444, nullptr },
+ { "Rcommaaccent", 667, nullptr },
+ { "fi", 556, nullptr },
+ { "fl", 556, nullptr },
+ { "Acircumflex", 667, nullptr },
+ { "Cacute", 667, nullptr },
+ { "Icircumflex", 389, nullptr },
+ { "guillemotleft", 500, nullptr },
+ { "germandbls", 500, nullptr },
+ { "Amacron", 667, nullptr },
+ { "seven", 500, nullptr },
+ { "Sacute", 556, nullptr },
+ { "ordmasculine", 300, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 500, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 389, nullptr },
+ { "rcommaaccent", 389, nullptr },
+ { "Zdotaccent", 611, nullptr },
+ { "acircumflex", 500, nullptr },
+ { "cacute", 444, nullptr },
+ { "Ecaron", 667, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 348, nullptr },
+ { "quotedblright", 500, nullptr },
+ { "amacron", 500, nullptr },
+ { "sacute", 389, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 500, nullptr },
+ { "currency", 500, nullptr },
+ { "logicalnot", 606, nullptr },
+ { "zdotaccent", 389, nullptr },
+ { "Atilde", 667, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 220, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 570, nullptr },
+ { "ecaron", 444, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 389, nullptr },
+ { "period", 250, nullptr },
+ { "Rcaron", 667, nullptr },
+ { "Kcommaaccent", 667, nullptr },
+ { "greater", 570, nullptr },
+ { "atilde", 500, nullptr },
+ { "brokenbar", 220, nullptr },
+ { "quoteleft", 333, nullptr },
+ { "Edotaccent", 667, nullptr },
+ { "onesuperior", 300, nullptr }
};
static BuiltinFontWidth timesItalicWidthsTab[] = {
- { "Ntilde", 667, NULL },
- { "rcaron", 389, NULL },
- { "kcommaaccent", 444, NULL },
- { "Ncommaaccent", 667, NULL },
- { "Zacute", 556, NULL },
- { "comma", 250, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 675, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 444, NULL },
- { "asciitilde", 541, NULL },
- { "colon", 333, NULL },
- { "onehalf", 750, NULL },
- { "dollar", 500, NULL },
- { "Lcaron", 611, NULL },
- { "ntilde", 500, NULL },
- { "Aogonek", 611, NULL },
- { "ncommaaccent", 500, NULL },
- { "minus", 675, NULL },
- { "Iogonek", 333, NULL },
- { "zacute", 389, NULL },
- { "yen", 500, NULL },
- { "space", 250, NULL },
- { "Omacron", 722, NULL },
- { "questiondown", 500, NULL },
- { "emdash", 889, NULL },
- { "Agrave", 611, NULL },
- { "three", 500, NULL },
- { "numbersign", 500, NULL },
- { "lcaron", 300, NULL },
- { "A", 611, NULL },
- { "B", 611, NULL },
- { "C", 667, NULL },
- { "aogonek", 500, NULL },
- { "D", 722, NULL },
- { "E", 611, NULL },
- { "onequarter", 750, NULL },
- { "F", 611, NULL },
- { "G", 722, NULL },
- { "H", 722, NULL },
- { "I", 333, NULL },
- { "J", 444, NULL },
- { "K", 667, NULL },
- { "iogonek", 278, NULL },
- { "backslash", 278, NULL },
- { "L", 556, NULL },
- { "periodcentered", 250, NULL },
- { "M", 833, NULL },
- { "N", 667, NULL },
- { "omacron", 500, NULL },
- { "Tcommaaccent", 556, NULL },
- { "O", 722, NULL },
- { "P", 611, NULL },
- { "Q", 722, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 611, NULL },
- { "Aacute", 611, NULL },
- { "caron", 333, NULL },
- { "S", 500, NULL },
- { "T", 556, NULL },
- { "U", 722, NULL },
- { "agrave", 500, NULL },
- { "V", 611, NULL },
- { "W", 833, NULL },
- { "X", 611, NULL },
- { "question", 500, NULL },
- { "equal", 675, NULL },
- { "Y", 556, NULL },
- { "Z", 556, NULL },
- { "four", 500, NULL },
- { "a", 500, NULL },
- { "Gcommaaccent", 722, NULL },
- { "b", 500, NULL },
- { "c", 444, NULL },
- { "d", 500, NULL },
- { "e", 444, NULL },
- { "f", 278, NULL },
- { "g", 500, NULL },
- { "bullet", 350, NULL },
- { "h", 500, NULL },
- { "i", 278, NULL },
- { "Oslash", 722, NULL },
- { "dagger", 500, NULL },
- { "j", 278, NULL },
- { "k", 444, NULL },
- { "l", 278, NULL },
- { "m", 722, NULL },
- { "n", 500, NULL },
- { "tcommaaccent", 278, NULL },
- { "o", 500, NULL },
- { "ordfeminine", 276, NULL },
- { "ring", 333, NULL },
- { "p", 500, NULL },
- { "q", 500, NULL },
- { "uhungarumlaut", 500, NULL },
- { "r", 389, NULL },
- { "twosuperior", 300, NULL },
- { "aacute", 500, NULL },
- { "s", 389, NULL },
- { "OE", 944, NULL },
- { "t", 278, NULL },
- { "divide", 675, NULL },
- { "u", 500, NULL },
- { "Ccaron", 667, NULL },
- { "v", 444, NULL },
- { "w", 667, NULL },
- { "x", 444, NULL },
- { "y", 444, NULL },
- { "z", 389, NULL },
- { "Gbreve", 722, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 333, NULL },
- { "Nacute", 667, NULL },
- { "quotedbl", 420, NULL },
- { "gcommaaccent", 500, NULL },
- { "mu", 500, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 500, NULL },
- { "Lslash", 556, NULL },
- { "semicolon", 333, NULL },
- { "oslash", 500, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 471, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 444, NULL },
- { "Ecircumflex", 611, NULL },
- { "gbreve", 500, NULL },
- { "trademark", 980, NULL },
- { "daggerdbl", 500, NULL },
- { "nacute", 500, NULL },
- { "macron", 333, NULL },
- { "Otilde", 722, NULL },
- { "Emacron", 611, NULL },
- { "ellipsis", 889, NULL },
- { "scaron", 389, NULL },
- { "AE", 889, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 278, NULL },
- { "quotedblleft", 556, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 214, NULL },
- { "eight", 500, NULL },
- { "exclamdown", 389, NULL },
- { "endash", 500, NULL },
- { "oe", 667, NULL },
- { "Abreve", 611, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 444, NULL },
- { "Adieresis", 611, NULL },
- { "copyright", 760, NULL },
- { "Egrave", 611, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 611, NULL },
- { "otilde", 500, NULL },
- { "Idieresis", 333, NULL },
- { "parenleft", 333, NULL },
- { "one", 500, NULL },
- { "emacron", 444, NULL },
- { "Odieresis", 722, NULL },
- { "ucircumflex", 500, NULL },
- { "bracketleft", 389, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 333, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 556, NULL },
- { "umacron", 500, NULL },
- { "abreve", 500, NULL },
- { "Eacute", 611, NULL },
- { "adieresis", 500, NULL },
- { "egrave", 444, NULL },
- { "edieresis", 444, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 667, NULL },
- { "asterisk", 500, NULL },
- { "odieresis", 500, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 500, NULL },
- { "nine", 500, NULL },
- { "five", 500, NULL },
- { "udieresis", 500, NULL },
- { "Zcaron", 556, NULL },
- { "Scommaaccent", 500, NULL },
- { "threequarters", 750, NULL },
- { "guillemotright", 500, NULL },
- { "Ccedilla", 667, NULL },
- { "ydieresis", 444, NULL },
- { "tilde", 333, NULL },
- { "at", 920, NULL },
- { "eacute", 444, NULL },
- { "underscore", 500, NULL },
- { "Euro", 500, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 675, NULL },
- { "zero", 500, NULL },
- { "eth", 500, NULL },
- { "Scedilla", 500, NULL },
- { "Ograve", 722, NULL },
- { "Racute", 611, NULL },
- { "partialdiff", 476, NULL },
- { "uacute", 500, NULL },
- { "braceleft", 400, NULL },
- { "Thorn", 611, NULL },
- { "zcaron", 389, NULL },
- { "scommaaccent", 389, NULL },
- { "ccedilla", 444, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 500, NULL },
- { "Ocircumflex", 722, NULL },
- { "Oacute", 722, NULL },
- { "scedilla", 389, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 500, NULL },
- { "racute", 389, NULL },
- { "Tcaron", 556, NULL },
- { "Eogonek", 611, NULL },
- { "thorn", 500, NULL },
- { "degree", 400, NULL },
- { "registered", 760, NULL },
- { "radical", 453, NULL },
- { "Aring", 611, NULL },
- { "percent", 833, NULL },
- { "six", 500, NULL },
- { "paragraph", 523, NULL },
- { "dcaron", 544, NULL },
- { "Uogonek", 722, NULL },
- { "two", 500, NULL },
- { "summation", 600, NULL },
- { "Igrave", 333, NULL },
- { "Lacute", 556, NULL },
- { "ocircumflex", 500, NULL },
- { "oacute", 500, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 556, NULL },
- { "tcaron", 300, NULL },
- { "eogonek", 444, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 722, NULL },
- { "asciicircum", 422, NULL },
- { "aring", 500, NULL },
- { "grave", 333, NULL },
- { "uogonek", 500, NULL },
- { "bracketright", 389, NULL },
- { "Iacute", 333, NULL },
- { "ampersand", 778, NULL },
- { "igrave", 278, NULL },
- { "lacute", 278, NULL },
- { "Ncaron", 667, NULL },
- { "plus", 675, NULL },
- { "uring", 500, NULL },
- { "quotesinglbase", 333, NULL },
- { "lcommaaccent", 278, NULL },
- { "Yacute", 556, NULL },
- { "ohungarumlaut", 500, NULL },
- { "threesuperior", 300, NULL },
- { "acute", 333, NULL },
- { "section", 500, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 556, NULL },
- { "ncaron", 500, NULL },
- { "florin", 500, NULL },
- { "yacute", 444, NULL },
- { "Rcommaaccent", 611, NULL },
- { "fi", 500, NULL },
- { "fl", 500, NULL },
- { "Acircumflex", 611, NULL },
- { "Cacute", 667, NULL },
- { "Icircumflex", 333, NULL },
- { "guillemotleft", 500, NULL },
- { "germandbls", 500, NULL },
- { "Amacron", 611, NULL },
- { "seven", 500, NULL },
- { "Sacute", 500, NULL },
- { "ordmasculine", 310, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 500, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 333, NULL },
- { "rcommaaccent", 389, NULL },
- { "Zdotaccent", 556, NULL },
- { "acircumflex", 500, NULL },
- { "cacute", 444, NULL },
- { "Ecaron", 611, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 400, NULL },
- { "quotedblright", 556, NULL },
- { "amacron", 500, NULL },
- { "sacute", 389, NULL },
- { "imacron", 278, NULL },
- { "cent", 500, NULL },
- { "currency", 500, NULL },
- { "logicalnot", 675, NULL },
- { "zdotaccent", 389, NULL },
- { "Atilde", 611, NULL },
- { "breve", 333, NULL },
- { "bar", 275, NULL },
- { "fraction", 167, NULL },
- { "less", 675, NULL },
- { "ecaron", 444, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 333, NULL },
- { "period", 250, NULL },
- { "Rcaron", 611, NULL },
- { "Kcommaaccent", 667, NULL },
- { "greater", 675, NULL },
- { "atilde", 500, NULL },
- { "brokenbar", 275, NULL },
- { "quoteleft", 333, NULL },
- { "Edotaccent", 611, NULL },
- { "onesuperior", 300, NULL }
+ { "Ntilde", 667, nullptr },
+ { "rcaron", 389, nullptr },
+ { "kcommaaccent", 444, nullptr },
+ { "Ncommaaccent", 667, nullptr },
+ { "Zacute", 556, nullptr },
+ { "comma", 250, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 675, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 444, nullptr },
+ { "asciitilde", 541, nullptr },
+ { "colon", 333, nullptr },
+ { "onehalf", 750, nullptr },
+ { "dollar", 500, nullptr },
+ { "Lcaron", 611, nullptr },
+ { "ntilde", 500, nullptr },
+ { "Aogonek", 611, nullptr },
+ { "ncommaaccent", 500, nullptr },
+ { "minus", 675, nullptr },
+ { "Iogonek", 333, nullptr },
+ { "zacute", 389, nullptr },
+ { "yen", 500, nullptr },
+ { "space", 250, nullptr },
+ { "Omacron", 722, nullptr },
+ { "questiondown", 500, nullptr },
+ { "emdash", 889, nullptr },
+ { "Agrave", 611, nullptr },
+ { "three", 500, nullptr },
+ { "numbersign", 500, nullptr },
+ { "lcaron", 300, nullptr },
+ { "A", 611, nullptr },
+ { "B", 611, nullptr },
+ { "C", 667, nullptr },
+ { "aogonek", 500, nullptr },
+ { "D", 722, nullptr },
+ { "E", 611, nullptr },
+ { "onequarter", 750, nullptr },
+ { "F", 611, nullptr },
+ { "G", 722, nullptr },
+ { "H", 722, nullptr },
+ { "I", 333, nullptr },
+ { "J", 444, nullptr },
+ { "K", 667, nullptr },
+ { "iogonek", 278, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 556, nullptr },
+ { "periodcentered", 250, nullptr },
+ { "M", 833, nullptr },
+ { "N", 667, nullptr },
+ { "omacron", 500, nullptr },
+ { "Tcommaaccent", 556, nullptr },
+ { "O", 722, nullptr },
+ { "P", 611, nullptr },
+ { "Q", 722, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 611, nullptr },
+ { "Aacute", 611, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 500, nullptr },
+ { "T", 556, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 500, nullptr },
+ { "V", 611, nullptr },
+ { "W", 833, nullptr },
+ { "X", 611, nullptr },
+ { "question", 500, nullptr },
+ { "equal", 675, nullptr },
+ { "Y", 556, nullptr },
+ { "Z", 556, nullptr },
+ { "four", 500, nullptr },
+ { "a", 500, nullptr },
+ { "Gcommaaccent", 722, nullptr },
+ { "b", 500, nullptr },
+ { "c", 444, nullptr },
+ { "d", 500, nullptr },
+ { "e", 444, nullptr },
+ { "f", 278, nullptr },
+ { "g", 500, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 500, nullptr },
+ { "i", 278, nullptr },
+ { "Oslash", 722, nullptr },
+ { "dagger", 500, nullptr },
+ { "j", 278, nullptr },
+ { "k", 444, nullptr },
+ { "l", 278, nullptr },
+ { "m", 722, nullptr },
+ { "n", 500, nullptr },
+ { "tcommaaccent", 278, nullptr },
+ { "o", 500, nullptr },
+ { "ordfeminine", 276, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 500, nullptr },
+ { "q", 500, nullptr },
+ { "uhungarumlaut", 500, nullptr },
+ { "r", 389, nullptr },
+ { "twosuperior", 300, nullptr },
+ { "aacute", 500, nullptr },
+ { "s", 389, nullptr },
+ { "OE", 944, nullptr },
+ { "t", 278, nullptr },
+ { "divide", 675, nullptr },
+ { "u", 500, nullptr },
+ { "Ccaron", 667, nullptr },
+ { "v", 444, nullptr },
+ { "w", 667, nullptr },
+ { "x", 444, nullptr },
+ { "y", 444, nullptr },
+ { "z", 389, nullptr },
+ { "Gbreve", 722, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 333, nullptr },
+ { "Nacute", 667, nullptr },
+ { "quotedbl", 420, nullptr },
+ { "gcommaaccent", 500, nullptr },
+ { "mu", 500, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 500, nullptr },
+ { "Lslash", 556, nullptr },
+ { "semicolon", 333, nullptr },
+ { "oslash", 500, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 471, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 444, nullptr },
+ { "Ecircumflex", 611, nullptr },
+ { "gbreve", 500, nullptr },
+ { "trademark", 980, nullptr },
+ { "daggerdbl", 500, nullptr },
+ { "nacute", 500, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 722, nullptr },
+ { "Emacron", 611, nullptr },
+ { "ellipsis", 889, nullptr },
+ { "scaron", 389, nullptr },
+ { "AE", 889, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 278, nullptr },
+ { "quotedblleft", 556, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 214, nullptr },
+ { "eight", 500, nullptr },
+ { "exclamdown", 389, nullptr },
+ { "endash", 500, nullptr },
+ { "oe", 667, nullptr },
+ { "Abreve", 611, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 444, nullptr },
+ { "Adieresis", 611, nullptr },
+ { "copyright", 760, nullptr },
+ { "Egrave", 611, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 611, nullptr },
+ { "otilde", 500, nullptr },
+ { "Idieresis", 333, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 500, nullptr },
+ { "emacron", 444, nullptr },
+ { "Odieresis", 722, nullptr },
+ { "ucircumflex", 500, nullptr },
+ { "bracketleft", 389, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 333, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 556, nullptr },
+ { "umacron", 500, nullptr },
+ { "abreve", 500, nullptr },
+ { "Eacute", 611, nullptr },
+ { "adieresis", 500, nullptr },
+ { "egrave", 444, nullptr },
+ { "edieresis", 444, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 667, nullptr },
+ { "asterisk", 500, nullptr },
+ { "odieresis", 500, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 500, nullptr },
+ { "nine", 500, nullptr },
+ { "five", 500, nullptr },
+ { "udieresis", 500, nullptr },
+ { "Zcaron", 556, nullptr },
+ { "Scommaaccent", 500, nullptr },
+ { "threequarters", 750, nullptr },
+ { "guillemotright", 500, nullptr },
+ { "Ccedilla", 667, nullptr },
+ { "ydieresis", 444, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 920, nullptr },
+ { "eacute", 444, nullptr },
+ { "underscore", 500, nullptr },
+ { "Euro", 500, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 675, nullptr },
+ { "zero", 500, nullptr },
+ { "eth", 500, nullptr },
+ { "Scedilla", 500, nullptr },
+ { "Ograve", 722, nullptr },
+ { "Racute", 611, nullptr },
+ { "partialdiff", 476, nullptr },
+ { "uacute", 500, nullptr },
+ { "braceleft", 400, nullptr },
+ { "Thorn", 611, nullptr },
+ { "zcaron", 389, nullptr },
+ { "scommaaccent", 389, nullptr },
+ { "ccedilla", 444, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 500, nullptr },
+ { "Ocircumflex", 722, nullptr },
+ { "Oacute", 722, nullptr },
+ { "scedilla", 389, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 500, nullptr },
+ { "racute", 389, nullptr },
+ { "Tcaron", 556, nullptr },
+ { "Eogonek", 611, nullptr },
+ { "thorn", 500, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 760, nullptr },
+ { "radical", 453, nullptr },
+ { "Aring", 611, nullptr },
+ { "percent", 833, nullptr },
+ { "six", 500, nullptr },
+ { "paragraph", 523, nullptr },
+ { "dcaron", 544, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 500, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 333, nullptr },
+ { "Lacute", 556, nullptr },
+ { "ocircumflex", 500, nullptr },
+ { "oacute", 500, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 556, nullptr },
+ { "tcaron", 300, nullptr },
+ { "eogonek", 444, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 722, nullptr },
+ { "asciicircum", 422, nullptr },
+ { "aring", 500, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 500, nullptr },
+ { "bracketright", 389, nullptr },
+ { "Iacute", 333, nullptr },
+ { "ampersand", 778, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 278, nullptr },
+ { "Ncaron", 667, nullptr },
+ { "plus", 675, nullptr },
+ { "uring", 500, nullptr },
+ { "quotesinglbase", 333, nullptr },
+ { "lcommaaccent", 278, nullptr },
+ { "Yacute", 556, nullptr },
+ { "ohungarumlaut", 500, nullptr },
+ { "threesuperior", 300, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 500, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 556, nullptr },
+ { "ncaron", 500, nullptr },
+ { "florin", 500, nullptr },
+ { "yacute", 444, nullptr },
+ { "Rcommaaccent", 611, nullptr },
+ { "fi", 500, nullptr },
+ { "fl", 500, nullptr },
+ { "Acircumflex", 611, nullptr },
+ { "Cacute", 667, nullptr },
+ { "Icircumflex", 333, nullptr },
+ { "guillemotleft", 500, nullptr },
+ { "germandbls", 500, nullptr },
+ { "Amacron", 611, nullptr },
+ { "seven", 500, nullptr },
+ { "Sacute", 500, nullptr },
+ { "ordmasculine", 310, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 500, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 333, nullptr },
+ { "rcommaaccent", 389, nullptr },
+ { "Zdotaccent", 556, nullptr },
+ { "acircumflex", 500, nullptr },
+ { "cacute", 444, nullptr },
+ { "Ecaron", 611, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 400, nullptr },
+ { "quotedblright", 556, nullptr },
+ { "amacron", 500, nullptr },
+ { "sacute", 389, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 500, nullptr },
+ { "currency", 500, nullptr },
+ { "logicalnot", 675, nullptr },
+ { "zdotaccent", 389, nullptr },
+ { "Atilde", 611, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 275, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 675, nullptr },
+ { "ecaron", 444, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 333, nullptr },
+ { "period", 250, nullptr },
+ { "Rcaron", 611, nullptr },
+ { "Kcommaaccent", 667, nullptr },
+ { "greater", 675, nullptr },
+ { "atilde", 500, nullptr },
+ { "brokenbar", 275, nullptr },
+ { "quoteleft", 333, nullptr },
+ { "Edotaccent", 611, nullptr },
+ { "onesuperior", 300, nullptr }
};
static BuiltinFontWidth timesRomanWidthsTab[] = {
- { "Ntilde", 722, NULL },
- { "rcaron", 333, NULL },
- { "kcommaaccent", 500, NULL },
- { "Ncommaaccent", 722, NULL },
- { "Zacute", 611, NULL },
- { "comma", 250, NULL },
- { "cedilla", 333, NULL },
- { "plusminus", 564, NULL },
- { "circumflex", 333, NULL },
- { "dotaccent", 333, NULL },
- { "edotaccent", 444, NULL },
- { "asciitilde", 541, NULL },
- { "colon", 278, NULL },
- { "onehalf", 750, NULL },
- { "dollar", 500, NULL },
- { "Lcaron", 611, NULL },
- { "ntilde", 500, NULL },
- { "Aogonek", 722, NULL },
- { "ncommaaccent", 500, NULL },
- { "minus", 564, NULL },
- { "Iogonek", 333, NULL },
- { "zacute", 444, NULL },
- { "yen", 500, NULL },
- { "space", 250, NULL },
- { "Omacron", 722, NULL },
- { "questiondown", 444, NULL },
- { "emdash", 1000, NULL },
- { "Agrave", 722, NULL },
- { "three", 500, NULL },
- { "numbersign", 500, NULL },
- { "lcaron", 344, NULL },
- { "A", 722, NULL },
- { "B", 667, NULL },
- { "C", 667, NULL },
- { "aogonek", 444, NULL },
- { "D", 722, NULL },
- { "E", 611, NULL },
- { "onequarter", 750, NULL },
- { "F", 556, NULL },
- { "G", 722, NULL },
- { "H", 722, NULL },
- { "I", 333, NULL },
- { "J", 389, NULL },
- { "K", 722, NULL },
- { "iogonek", 278, NULL },
- { "backslash", 278, NULL },
- { "L", 611, NULL },
- { "periodcentered", 250, NULL },
- { "M", 889, NULL },
- { "N", 722, NULL },
- { "omacron", 500, NULL },
- { "Tcommaaccent", 611, NULL },
- { "O", 722, NULL },
- { "P", 556, NULL },
- { "Q", 722, NULL },
- { "Uhungarumlaut", 722, NULL },
- { "R", 667, NULL },
- { "Aacute", 722, NULL },
- { "caron", 333, NULL },
- { "S", 556, NULL },
- { "T", 611, NULL },
- { "U", 722, NULL },
- { "agrave", 444, NULL },
- { "V", 722, NULL },
- { "W", 944, NULL },
- { "X", 722, NULL },
- { "question", 444, NULL },
- { "equal", 564, NULL },
- { "Y", 722, NULL },
- { "Z", 611, NULL },
- { "four", 500, NULL },
- { "a", 444, NULL },
- { "Gcommaaccent", 722, NULL },
- { "b", 500, NULL },
- { "c", 444, NULL },
- { "d", 500, NULL },
- { "e", 444, NULL },
- { "f", 333, NULL },
- { "g", 500, NULL },
- { "bullet", 350, NULL },
- { "h", 500, NULL },
- { "i", 278, NULL },
- { "Oslash", 722, NULL },
- { "dagger", 500, NULL },
- { "j", 278, NULL },
- { "k", 500, NULL },
- { "l", 278, NULL },
- { "m", 778, NULL },
- { "n", 500, NULL },
- { "tcommaaccent", 278, NULL },
- { "o", 500, NULL },
- { "ordfeminine", 276, NULL },
- { "ring", 333, NULL },
- { "p", 500, NULL },
- { "q", 500, NULL },
- { "uhungarumlaut", 500, NULL },
- { "r", 333, NULL },
- { "twosuperior", 300, NULL },
- { "aacute", 444, NULL },
- { "s", 389, NULL },
- { "OE", 889, NULL },
- { "t", 278, NULL },
- { "divide", 564, NULL },
- { "u", 500, NULL },
- { "Ccaron", 667, NULL },
- { "v", 500, NULL },
- { "w", 722, NULL },
- { "x", 500, NULL },
- { "y", 500, NULL },
- { "z", 444, NULL },
- { "Gbreve", 722, NULL },
- { "commaaccent", 250, NULL },
- { "hungarumlaut", 333, NULL },
- { "Idotaccent", 333, NULL },
- { "Nacute", 722, NULL },
- { "quotedbl", 408, NULL },
- { "gcommaaccent", 500, NULL },
- { "mu", 500, NULL },
- { "greaterequal", 549, NULL },
- { "Scaron", 556, NULL },
- { "Lslash", 611, NULL },
- { "semicolon", 278, NULL },
- { "oslash", 500, NULL },
- { "lessequal", 549, NULL },
- { "lozenge", 471, NULL },
- { "parenright", 333, NULL },
- { "ccaron", 444, NULL },
- { "Ecircumflex", 611, NULL },
- { "gbreve", 500, NULL },
- { "trademark", 980, NULL },
- { "daggerdbl", 500, NULL },
- { "nacute", 500, NULL },
- { "macron", 333, NULL },
- { "Otilde", 722, NULL },
- { "Emacron", 611, NULL },
- { "ellipsis", 1000, NULL },
- { "scaron", 389, NULL },
- { "AE", 889, NULL },
- { "Ucircumflex", 722, NULL },
- { "lslash", 278, NULL },
- { "quotedblleft", 444, NULL },
- { "guilsinglright", 333, NULL },
- { "hyphen", 333, NULL },
- { "quotesingle", 180, NULL },
- { "eight", 500, NULL },
- { "exclamdown", 333, NULL },
- { "endash", 500, NULL },
- { "oe", 722, NULL },
- { "Abreve", 722, NULL },
- { "Umacron", 722, NULL },
- { "ecircumflex", 444, NULL },
- { "Adieresis", 722, NULL },
- { "copyright", 760, NULL },
- { "Egrave", 611, NULL },
- { "slash", 278, NULL },
- { "Edieresis", 611, NULL },
- { "otilde", 500, NULL },
- { "Idieresis", 333, NULL },
- { "parenleft", 333, NULL },
- { "one", 500, NULL },
- { "emacron", 444, NULL },
- { "Odieresis", 722, NULL },
- { "ucircumflex", 500, NULL },
- { "bracketleft", 333, NULL },
- { "Ugrave", 722, NULL },
- { "quoteright", 333, NULL },
- { "Udieresis", 722, NULL },
- { "perthousand", 1000, NULL },
- { "Ydieresis", 722, NULL },
- { "umacron", 500, NULL },
- { "abreve", 444, NULL },
- { "Eacute", 611, NULL },
- { "adieresis", 444, NULL },
- { "egrave", 444, NULL },
- { "edieresis", 444, NULL },
- { "idieresis", 278, NULL },
- { "Eth", 722, NULL },
- { "ae", 667, NULL },
- { "asterisk", 500, NULL },
- { "odieresis", 500, NULL },
- { "Uacute", 722, NULL },
- { "ugrave", 500, NULL },
- { "nine", 500, NULL },
- { "five", 500, NULL },
- { "udieresis", 500, NULL },
- { "Zcaron", 611, NULL },
- { "Scommaaccent", 556, NULL },
- { "threequarters", 750, NULL },
- { "guillemotright", 500, NULL },
- { "Ccedilla", 667, NULL },
- { "ydieresis", 500, NULL },
- { "tilde", 333, NULL },
- { "at", 921, NULL },
- { "eacute", 444, NULL },
- { "underscore", 500, NULL },
- { "Euro", 500, NULL },
- { "Dcroat", 722, NULL },
- { "multiply", 564, NULL },
- { "zero", 500, NULL },
- { "eth", 500, NULL },
- { "Scedilla", 556, NULL },
- { "Ograve", 722, NULL },
- { "Racute", 667, NULL },
- { "partialdiff", 476, NULL },
- { "uacute", 500, NULL },
- { "braceleft", 480, NULL },
- { "Thorn", 556, NULL },
- { "zcaron", 444, NULL },
- { "scommaaccent", 389, NULL },
- { "ccedilla", 444, NULL },
- { "Dcaron", 722, NULL },
- { "dcroat", 500, NULL },
- { "Ocircumflex", 722, NULL },
- { "Oacute", 722, NULL },
- { "scedilla", 389, NULL },
- { "ogonek", 333, NULL },
- { "ograve", 500, NULL },
- { "racute", 333, NULL },
- { "Tcaron", 611, NULL },
- { "Eogonek", 611, NULL },
- { "thorn", 500, NULL },
- { "degree", 400, NULL },
- { "registered", 760, NULL },
- { "radical", 453, NULL },
- { "Aring", 722, NULL },
- { "percent", 833, NULL },
- { "six", 500, NULL },
- { "paragraph", 453, NULL },
- { "dcaron", 588, NULL },
- { "Uogonek", 722, NULL },
- { "two", 500, NULL },
- { "summation", 600, NULL },
- { "Igrave", 333, NULL },
- { "Lacute", 611, NULL },
- { "ocircumflex", 500, NULL },
- { "oacute", 500, NULL },
- { "Uring", 722, NULL },
- { "Lcommaaccent", 611, NULL },
- { "tcaron", 326, NULL },
- { "eogonek", 444, NULL },
- { "Delta", 612, NULL },
- { "Ohungarumlaut", 722, NULL },
- { "asciicircum", 469, NULL },
- { "aring", 444, NULL },
- { "grave", 333, NULL },
- { "uogonek", 500, NULL },
- { "bracketright", 333, NULL },
- { "Iacute", 333, NULL },
- { "ampersand", 778, NULL },
- { "igrave", 278, NULL },
- { "lacute", 278, NULL },
- { "Ncaron", 722, NULL },
- { "plus", 564, NULL },
- { "uring", 500, NULL },
- { "quotesinglbase", 333, NULL },
- { "lcommaaccent", 278, NULL },
- { "Yacute", 722, NULL },
- { "ohungarumlaut", 500, NULL },
- { "threesuperior", 300, NULL },
- { "acute", 333, NULL },
- { "section", 500, NULL },
- { "dieresis", 333, NULL },
- { "iacute", 278, NULL },
- { "quotedblbase", 444, NULL },
- { "ncaron", 500, NULL },
- { "florin", 500, NULL },
- { "yacute", 500, NULL },
- { "Rcommaaccent", 667, NULL },
- { "fi", 556, NULL },
- { "fl", 556, NULL },
- { "Acircumflex", 722, NULL },
- { "Cacute", 667, NULL },
- { "Icircumflex", 333, NULL },
- { "guillemotleft", 500, NULL },
- { "germandbls", 500, NULL },
- { "Amacron", 722, NULL },
- { "seven", 500, NULL },
- { "Sacute", 556, NULL },
- { "ordmasculine", 310, NULL },
- { "dotlessi", 278, NULL },
- { "sterling", 500, NULL },
- { "notequal", 549, NULL },
- { "Imacron", 333, NULL },
- { "rcommaaccent", 333, NULL },
- { "Zdotaccent", 611, NULL },
- { "acircumflex", 444, NULL },
- { "cacute", 444, NULL },
- { "Ecaron", 611, NULL },
- { "icircumflex", 278, NULL },
- { "braceright", 480, NULL },
- { "quotedblright", 444, NULL },
- { "amacron", 444, NULL },
- { "sacute", 389, NULL },
- { "imacron", 278, NULL },
- { "cent", 500, NULL },
- { "currency", 500, NULL },
- { "logicalnot", 564, NULL },
- { "zdotaccent", 444, NULL },
- { "Atilde", 722, NULL },
- { "breve", 333, NULL },
- { "bar", 200, NULL },
- { "fraction", 167, NULL },
- { "less", 564, NULL },
- { "ecaron", 444, NULL },
- { "guilsinglleft", 333, NULL },
- { "exclam", 333, NULL },
- { "period", 250, NULL },
- { "Rcaron", 667, NULL },
- { "Kcommaaccent", 722, NULL },
- { "greater", 564, NULL },
- { "atilde", 444, NULL },
- { "brokenbar", 200, NULL },
- { "quoteleft", 333, NULL },
- { "Edotaccent", 611, NULL },
- { "onesuperior", 300, NULL }
+ { "Ntilde", 722, nullptr },
+ { "rcaron", 333, nullptr },
+ { "kcommaaccent", 500, nullptr },
+ { "Ncommaaccent", 722, nullptr },
+ { "Zacute", 611, nullptr },
+ { "comma", 250, nullptr },
+ { "cedilla", 333, nullptr },
+ { "plusminus", 564, nullptr },
+ { "circumflex", 333, nullptr },
+ { "dotaccent", 333, nullptr },
+ { "edotaccent", 444, nullptr },
+ { "asciitilde", 541, nullptr },
+ { "colon", 278, nullptr },
+ { "onehalf", 750, nullptr },
+ { "dollar", 500, nullptr },
+ { "Lcaron", 611, nullptr },
+ { "ntilde", 500, nullptr },
+ { "Aogonek", 722, nullptr },
+ { "ncommaaccent", 500, nullptr },
+ { "minus", 564, nullptr },
+ { "Iogonek", 333, nullptr },
+ { "zacute", 444, nullptr },
+ { "yen", 500, nullptr },
+ { "space", 250, nullptr },
+ { "Omacron", 722, nullptr },
+ { "questiondown", 444, nullptr },
+ { "emdash", 1000, nullptr },
+ { "Agrave", 722, nullptr },
+ { "three", 500, nullptr },
+ { "numbersign", 500, nullptr },
+ { "lcaron", 344, nullptr },
+ { "A", 722, nullptr },
+ { "B", 667, nullptr },
+ { "C", 667, nullptr },
+ { "aogonek", 444, nullptr },
+ { "D", 722, nullptr },
+ { "E", 611, nullptr },
+ { "onequarter", 750, nullptr },
+ { "F", 556, nullptr },
+ { "G", 722, nullptr },
+ { "H", 722, nullptr },
+ { "I", 333, nullptr },
+ { "J", 389, nullptr },
+ { "K", 722, nullptr },
+ { "iogonek", 278, nullptr },
+ { "backslash", 278, nullptr },
+ { "L", 611, nullptr },
+ { "periodcentered", 250, nullptr },
+ { "M", 889, nullptr },
+ { "N", 722, nullptr },
+ { "omacron", 500, nullptr },
+ { "Tcommaaccent", 611, nullptr },
+ { "O", 722, nullptr },
+ { "P", 556, nullptr },
+ { "Q", 722, nullptr },
+ { "Uhungarumlaut", 722, nullptr },
+ { "R", 667, nullptr },
+ { "Aacute", 722, nullptr },
+ { "caron", 333, nullptr },
+ { "S", 556, nullptr },
+ { "T", 611, nullptr },
+ { "U", 722, nullptr },
+ { "agrave", 444, nullptr },
+ { "V", 722, nullptr },
+ { "W", 944, nullptr },
+ { "X", 722, nullptr },
+ { "question", 444, nullptr },
+ { "equal", 564, nullptr },
+ { "Y", 722, nullptr },
+ { "Z", 611, nullptr },
+ { "four", 500, nullptr },
+ { "a", 444, nullptr },
+ { "Gcommaaccent", 722, nullptr },
+ { "b", 500, nullptr },
+ { "c", 444, nullptr },
+ { "d", 500, nullptr },
+ { "e", 444, nullptr },
+ { "f", 333, nullptr },
+ { "g", 500, nullptr },
+ { "bullet", 350, nullptr },
+ { "h", 500, nullptr },
+ { "i", 278, nullptr },
+ { "Oslash", 722, nullptr },
+ { "dagger", 500, nullptr },
+ { "j", 278, nullptr },
+ { "k", 500, nullptr },
+ { "l", 278, nullptr },
+ { "m", 778, nullptr },
+ { "n", 500, nullptr },
+ { "tcommaaccent", 278, nullptr },
+ { "o", 500, nullptr },
+ { "ordfeminine", 276, nullptr },
+ { "ring", 333, nullptr },
+ { "p", 500, nullptr },
+ { "q", 500, nullptr },
+ { "uhungarumlaut", 500, nullptr },
+ { "r", 333, nullptr },
+ { "twosuperior", 300, nullptr },
+ { "aacute", 444, nullptr },
+ { "s", 389, nullptr },
+ { "OE", 889, nullptr },
+ { "t", 278, nullptr },
+ { "divide", 564, nullptr },
+ { "u", 500, nullptr },
+ { "Ccaron", 667, nullptr },
+ { "v", 500, nullptr },
+ { "w", 722, nullptr },
+ { "x", 500, nullptr },
+ { "y", 500, nullptr },
+ { "z", 444, nullptr },
+ { "Gbreve", 722, nullptr },
+ { "commaaccent", 250, nullptr },
+ { "hungarumlaut", 333, nullptr },
+ { "Idotaccent", 333, nullptr },
+ { "Nacute", 722, nullptr },
+ { "quotedbl", 408, nullptr },
+ { "gcommaaccent", 500, nullptr },
+ { "mu", 500, nullptr },
+ { "greaterequal", 549, nullptr },
+ { "Scaron", 556, nullptr },
+ { "Lslash", 611, nullptr },
+ { "semicolon", 278, nullptr },
+ { "oslash", 500, nullptr },
+ { "lessequal", 549, nullptr },
+ { "lozenge", 471, nullptr },
+ { "parenright", 333, nullptr },
+ { "ccaron", 444, nullptr },
+ { "Ecircumflex", 611, nullptr },
+ { "gbreve", 500, nullptr },
+ { "trademark", 980, nullptr },
+ { "daggerdbl", 500, nullptr },
+ { "nacute", 500, nullptr },
+ { "macron", 333, nullptr },
+ { "Otilde", 722, nullptr },
+ { "Emacron", 611, nullptr },
+ { "ellipsis", 1000, nullptr },
+ { "scaron", 389, nullptr },
+ { "AE", 889, nullptr },
+ { "Ucircumflex", 722, nullptr },
+ { "lslash", 278, nullptr },
+ { "quotedblleft", 444, nullptr },
+ { "guilsinglright", 333, nullptr },
+ { "hyphen", 333, nullptr },
+ { "quotesingle", 180, nullptr },
+ { "eight", 500, nullptr },
+ { "exclamdown", 333, nullptr },
+ { "endash", 500, nullptr },
+ { "oe", 722, nullptr },
+ { "Abreve", 722, nullptr },
+ { "Umacron", 722, nullptr },
+ { "ecircumflex", 444, nullptr },
+ { "Adieresis", 722, nullptr },
+ { "copyright", 760, nullptr },
+ { "Egrave", 611, nullptr },
+ { "slash", 278, nullptr },
+ { "Edieresis", 611, nullptr },
+ { "otilde", 500, nullptr },
+ { "Idieresis", 333, nullptr },
+ { "parenleft", 333, nullptr },
+ { "one", 500, nullptr },
+ { "emacron", 444, nullptr },
+ { "Odieresis", 722, nullptr },
+ { "ucircumflex", 500, nullptr },
+ { "bracketleft", 333, nullptr },
+ { "Ugrave", 722, nullptr },
+ { "quoteright", 333, nullptr },
+ { "Udieresis", 722, nullptr },
+ { "perthousand", 1000, nullptr },
+ { "Ydieresis", 722, nullptr },
+ { "umacron", 500, nullptr },
+ { "abreve", 444, nullptr },
+ { "Eacute", 611, nullptr },
+ { "adieresis", 444, nullptr },
+ { "egrave", 444, nullptr },
+ { "edieresis", 444, nullptr },
+ { "idieresis", 278, nullptr },
+ { "Eth", 722, nullptr },
+ { "ae", 667, nullptr },
+ { "asterisk", 500, nullptr },
+ { "odieresis", 500, nullptr },
+ { "Uacute", 722, nullptr },
+ { "ugrave", 500, nullptr },
+ { "nine", 500, nullptr },
+ { "five", 500, nullptr },
+ { "udieresis", 500, nullptr },
+ { "Zcaron", 611, nullptr },
+ { "Scommaaccent", 556, nullptr },
+ { "threequarters", 750, nullptr },
+ { "guillemotright", 500, nullptr },
+ { "Ccedilla", 667, nullptr },
+ { "ydieresis", 500, nullptr },
+ { "tilde", 333, nullptr },
+ { "at", 921, nullptr },
+ { "eacute", 444, nullptr },
+ { "underscore", 500, nullptr },
+ { "Euro", 500, nullptr },
+ { "Dcroat", 722, nullptr },
+ { "multiply", 564, nullptr },
+ { "zero", 500, nullptr },
+ { "eth", 500, nullptr },
+ { "Scedilla", 556, nullptr },
+ { "Ograve", 722, nullptr },
+ { "Racute", 667, nullptr },
+ { "partialdiff", 476, nullptr },
+ { "uacute", 500, nullptr },
+ { "braceleft", 480, nullptr },
+ { "Thorn", 556, nullptr },
+ { "zcaron", 444, nullptr },
+ { "scommaaccent", 389, nullptr },
+ { "ccedilla", 444, nullptr },
+ { "Dcaron", 722, nullptr },
+ { "dcroat", 500, nullptr },
+ { "Ocircumflex", 722, nullptr },
+ { "Oacute", 722, nullptr },
+ { "scedilla", 389, nullptr },
+ { "ogonek", 333, nullptr },
+ { "ograve", 500, nullptr },
+ { "racute", 333, nullptr },
+ { "Tcaron", 611, nullptr },
+ { "Eogonek", 611, nullptr },
+ { "thorn", 500, nullptr },
+ { "degree", 400, nullptr },
+ { "registered", 760, nullptr },
+ { "radical", 453, nullptr },
+ { "Aring", 722, nullptr },
+ { "percent", 833, nullptr },
+ { "six", 500, nullptr },
+ { "paragraph", 453, nullptr },
+ { "dcaron", 588, nullptr },
+ { "Uogonek", 722, nullptr },
+ { "two", 500, nullptr },
+ { "summation", 600, nullptr },
+ { "Igrave", 333, nullptr },
+ { "Lacute", 611, nullptr },
+ { "ocircumflex", 500, nullptr },
+ { "oacute", 500, nullptr },
+ { "Uring", 722, nullptr },
+ { "Lcommaaccent", 611, nullptr },
+ { "tcaron", 326, nullptr },
+ { "eogonek", 444, nullptr },
+ { "Delta", 612, nullptr },
+ { "Ohungarumlaut", 722, nullptr },
+ { "asciicircum", 469, nullptr },
+ { "aring", 444, nullptr },
+ { "grave", 333, nullptr },
+ { "uogonek", 500, nullptr },
+ { "bracketright", 333, nullptr },
+ { "Iacute", 333, nullptr },
+ { "ampersand", 778, nullptr },
+ { "igrave", 278, nullptr },
+ { "lacute", 278, nullptr },
+ { "Ncaron", 722, nullptr },
+ { "plus", 564, nullptr },
+ { "uring", 500, nullptr },
+ { "quotesinglbase", 333, nullptr },
+ { "lcommaaccent", 278, nullptr },
+ { "Yacute", 722, nullptr },
+ { "ohungarumlaut", 500, nullptr },
+ { "threesuperior", 300, nullptr },
+ { "acute", 333, nullptr },
+ { "section", 500, nullptr },
+ { "dieresis", 333, nullptr },
+ { "iacute", 278, nullptr },
+ { "quotedblbase", 444, nullptr },
+ { "ncaron", 500, nullptr },
+ { "florin", 500, nullptr },
+ { "yacute", 500, nullptr },
+ { "Rcommaaccent", 667, nullptr },
+ { "fi", 556, nullptr },
+ { "fl", 556, nullptr },
+ { "Acircumflex", 722, nullptr },
+ { "Cacute", 667, nullptr },
+ { "Icircumflex", 333, nullptr },
+ { "guillemotleft", 500, nullptr },
+ { "germandbls", 500, nullptr },
+ { "Amacron", 722, nullptr },
+ { "seven", 500, nullptr },
+ { "Sacute", 556, nullptr },
+ { "ordmasculine", 310, nullptr },
+ { "dotlessi", 278, nullptr },
+ { "sterling", 500, nullptr },
+ { "notequal", 549, nullptr },
+ { "Imacron", 333, nullptr },
+ { "rcommaaccent", 333, nullptr },
+ { "Zdotaccent", 611, nullptr },
+ { "acircumflex", 444, nullptr },
+ { "cacute", 444, nullptr },
+ { "Ecaron", 611, nullptr },
+ { "icircumflex", 278, nullptr },
+ { "braceright", 480, nullptr },
+ { "quotedblright", 444, nullptr },
+ { "amacron", 444, nullptr },
+ { "sacute", 389, nullptr },
+ { "imacron", 278, nullptr },
+ { "cent", 500, nullptr },
+ { "currency", 500, nullptr },
+ { "logicalnot", 564, nullptr },
+ { "zdotaccent", 444, nullptr },
+ { "Atilde", 722, nullptr },
+ { "breve", 333, nullptr },
+ { "bar", 200, nullptr },
+ { "fraction", 167, nullptr },
+ { "less", 564, nullptr },
+ { "ecaron", 444, nullptr },
+ { "guilsinglleft", 333, nullptr },
+ { "exclam", 333, nullptr },
+ { "period", 250, nullptr },
+ { "Rcaron", 667, nullptr },
+ { "Kcommaaccent", 722, nullptr },
+ { "greater", 564, nullptr },
+ { "atilde", 444, nullptr },
+ { "brokenbar", 200, nullptr },
+ { "quoteleft", 333, nullptr },
+ { "Edotaccent", 611, nullptr },
+ { "onesuperior", 300, nullptr }
};
static BuiltinFontWidth zapfDingbatsWidthsTab[] = {
- { "a81", 438, NULL },
- { "a82", 138, NULL },
- { "a83", 277, NULL },
- { "a84", 415, NULL },
- { "a85", 509, NULL },
- { "a86", 410, NULL },
- { "a87", 234, NULL },
- { "a88", 234, NULL },
- { "a89", 390, NULL },
- { "a140", 788, NULL },
- { "a141", 788, NULL },
- { "a142", 788, NULL },
- { "a143", 788, NULL },
- { "a144", 788, NULL },
- { "a145", 788, NULL },
- { "a146", 788, NULL },
- { "a147", 788, NULL },
- { "a148", 788, NULL },
- { "a149", 788, NULL },
- { "a90", 390, NULL },
- { "a91", 276, NULL },
- { "a92", 276, NULL },
- { "space", 278, NULL },
- { "a93", 317, NULL },
- { "a94", 317, NULL },
- { "a95", 334, NULL },
- { "a96", 334, NULL },
- { "a97", 392, NULL },
- { "a98", 392, NULL },
- { "a99", 668, NULL },
- { "a150", 788, NULL },
- { "a151", 788, NULL },
- { "a152", 788, NULL },
- { "a153", 788, NULL },
- { "a154", 788, NULL },
- { "a155", 788, NULL },
- { "a156", 788, NULL },
- { "a157", 788, NULL },
- { "a158", 788, NULL },
- { "a159", 788, NULL },
- { "a160", 894, NULL },
- { "a161", 838, NULL },
- { "a162", 924, NULL },
- { "a163", 1016, NULL },
- { "a164", 458, NULL },
- { "a165", 924, NULL },
- { "a166", 918, NULL },
- { "a167", 927, NULL },
- { "a168", 928, NULL },
- { "a169", 928, NULL },
- { "a170", 834, NULL },
- { "a171", 873, NULL },
- { "a172", 828, NULL },
- { "a173", 924, NULL },
- { "a174", 917, NULL },
- { "a175", 930, NULL },
- { "a176", 931, NULL },
- { "a177", 463, NULL },
- { "a178", 883, NULL },
- { "a179", 836, NULL },
- { "a180", 867, NULL },
- { "a181", 696, NULL },
- { "a182", 874, NULL },
- { "a183", 760, NULL },
- { "a184", 946, NULL },
- { "a185", 865, NULL },
- { "a186", 967, NULL },
- { "a187", 831, NULL },
- { "a188", 873, NULL },
- { "a189", 927, NULL },
- { "a1", 974, NULL },
- { "a2", 961, NULL },
- { "a3", 980, NULL },
- { "a4", 719, NULL },
- { "a5", 789, NULL },
- { "a6", 494, NULL },
- { "a7", 552, NULL },
- { "a8", 537, NULL },
- { "a9", 577, NULL },
- { "a190", 970, NULL },
- { "a191", 918, NULL },
- { "a192", 748, NULL },
- { "a193", 836, NULL },
- { "a194", 771, NULL },
- { "a195", 888, NULL },
- { "a196", 748, NULL },
- { "a197", 771, NULL },
- { "a198", 888, NULL },
- { "a199", 867, NULL },
- { "a10", 692, NULL },
- { "a11", 960, NULL },
- { "a12", 939, NULL },
- { "a13", 549, NULL },
- { "a14", 855, NULL },
- { "a15", 911, NULL },
- { "a16", 933, NULL },
- { "a17", 945, NULL },
- { "a18", 974, NULL },
- { "a19", 755, NULL },
- { "a20", 846, NULL },
- { "a21", 762, NULL },
- { "a22", 761, NULL },
- { "a23", 571, NULL },
- { "a24", 677, NULL },
- { "a25", 763, NULL },
- { "a26", 760, NULL },
- { "a27", 759, NULL },
- { "a28", 754, NULL },
- { "a29", 786, NULL },
- { "a30", 788, NULL },
- { "a31", 788, NULL },
- { "a32", 790, NULL },
- { "a33", 793, NULL },
- { "a34", 794, NULL },
- { "a35", 816, NULL },
- { "a36", 823, NULL },
- { "a37", 789, NULL },
- { "a38", 841, NULL },
- { "a39", 823, NULL },
- { "a40", 833, NULL },
- { "a41", 816, NULL },
- { "a42", 831, NULL },
- { "a43", 923, NULL },
- { "a44", 744, NULL },
- { "a45", 723, NULL },
- { "a46", 749, NULL },
- { "a47", 790, NULL },
- { "a48", 792, NULL },
- { "a49", 695, NULL },
- { "a100", 668, NULL },
- { "a101", 732, NULL },
- { "a102", 544, NULL },
- { "a103", 544, NULL },
- { "a104", 910, NULL },
- { "a105", 911, NULL },
- { "a106", 667, NULL },
- { "a107", 760, NULL },
- { "a108", 760, NULL },
- { "a109", 626, NULL },
- { "a50", 776, NULL },
- { "a51", 768, NULL },
- { "a52", 792, NULL },
- { "a53", 759, NULL },
- { "a54", 707, NULL },
- { "a55", 708, NULL },
- { "a56", 682, NULL },
- { "a57", 701, NULL },
- { "a58", 826, NULL },
- { "a59", 815, NULL },
- { "a110", 694, NULL },
- { "a111", 595, NULL },
- { "a112", 776, NULL },
- { "a117", 690, NULL },
- { "a118", 791, NULL },
- { "a119", 790, NULL },
- { "a60", 789, NULL },
- { "a61", 789, NULL },
- { "a62", 707, NULL },
- { "a63", 687, NULL },
- { "a64", 696, NULL },
- { "a65", 689, NULL },
- { "a66", 786, NULL },
- { "a67", 787, NULL },
- { "a68", 713, NULL },
- { "a69", 791, NULL },
- { "a200", 696, NULL },
- { "a201", 874, NULL },
- { "a120", 788, NULL },
- { "a121", 788, NULL },
- { "a202", 974, NULL },
- { "a122", 788, NULL },
- { "a203", 762, NULL },
- { "a123", 788, NULL },
- { "a204", 759, NULL },
- { "a124", 788, NULL },
- { "a205", 509, NULL },
- { "a125", 788, NULL },
- { "a206", 410, NULL },
- { "a126", 788, NULL },
- { "a127", 788, NULL },
- { "a128", 788, NULL },
- { "a129", 788, NULL },
- { "a70", 785, NULL },
- { "a71", 791, NULL },
- { "a72", 873, NULL },
- { "a73", 761, NULL },
- { "a74", 762, NULL },
- { "a75", 759, NULL },
- { "a76", 892, NULL },
- { "a77", 892, NULL },
- { "a78", 788, NULL },
- { "a79", 784, NULL },
- { "a130", 788, NULL },
- { "a131", 788, NULL },
- { "a132", 788, NULL },
- { "a133", 788, NULL },
- { "a134", 788, NULL },
- { "a135", 788, NULL },
- { "a136", 788, NULL },
- { "a137", 788, NULL },
- { "a138", 788, NULL },
- { "a139", 788, NULL }
+ { "a81", 438, nullptr },
+ { "a82", 138, nullptr },
+ { "a83", 277, nullptr },
+ { "a84", 415, nullptr },
+ { "a85", 509, nullptr },
+ { "a86", 410, nullptr },
+ { "a87", 234, nullptr },
+ { "a88", 234, nullptr },
+ { "a89", 390, nullptr },
+ { "a140", 788, nullptr },
+ { "a141", 788, nullptr },
+ { "a142", 788, nullptr },
+ { "a143", 788, nullptr },
+ { "a144", 788, nullptr },
+ { "a145", 788, nullptr },
+ { "a146", 788, nullptr },
+ { "a147", 788, nullptr },
+ { "a148", 788, nullptr },
+ { "a149", 788, nullptr },
+ { "a90", 390, nullptr },
+ { "a91", 276, nullptr },
+ { "a92", 276, nullptr },
+ { "space", 278, nullptr },
+ { "a93", 317, nullptr },
+ { "a94", 317, nullptr },
+ { "a95", 334, nullptr },
+ { "a96", 334, nullptr },
+ { "a97", 392, nullptr },
+ { "a98", 392, nullptr },
+ { "a99", 668, nullptr },
+ { "a150", 788, nullptr },
+ { "a151", 788, nullptr },
+ { "a152", 788, nullptr },
+ { "a153", 788, nullptr },
+ { "a154", 788, nullptr },
+ { "a155", 788, nullptr },
+ { "a156", 788, nullptr },
+ { "a157", 788, nullptr },
+ { "a158", 788, nullptr },
+ { "a159", 788, nullptr },
+ { "a160", 894, nullptr },
+ { "a161", 838, nullptr },
+ { "a162", 924, nullptr },
+ { "a163", 1016, nullptr },
+ { "a164", 458, nullptr },
+ { "a165", 924, nullptr },
+ { "a166", 918, nullptr },
+ { "a167", 927, nullptr },
+ { "a168", 928, nullptr },
+ { "a169", 928, nullptr },
+ { "a170", 834, nullptr },
+ { "a171", 873, nullptr },
+ { "a172", 828, nullptr },
+ { "a173", 924, nullptr },
+ { "a174", 917, nullptr },
+ { "a175", 930, nullptr },
+ { "a176", 931, nullptr },
+ { "a177", 463, nullptr },
+ { "a178", 883, nullptr },
+ { "a179", 836, nullptr },
+ { "a180", 867, nullptr },
+ { "a181", 696, nullptr },
+ { "a182", 874, nullptr },
+ { "a183", 760, nullptr },
+ { "a184", 946, nullptr },
+ { "a185", 865, nullptr },
+ { "a186", 967, nullptr },
+ { "a187", 831, nullptr },
+ { "a188", 873, nullptr },
+ { "a189", 927, nullptr },
+ { "a1", 974, nullptr },
+ { "a2", 961, nullptr },
+ { "a3", 980, nullptr },
+ { "a4", 719, nullptr },
+ { "a5", 789, nullptr },
+ { "a6", 494, nullptr },
+ { "a7", 552, nullptr },
+ { "a8", 537, nullptr },
+ { "a9", 577, nullptr },
+ { "a190", 970, nullptr },
+ { "a191", 918, nullptr },
+ { "a192", 748, nullptr },
+ { "a193", 836, nullptr },
+ { "a194", 771, nullptr },
+ { "a195", 888, nullptr },
+ { "a196", 748, nullptr },
+ { "a197", 771, nullptr },
+ { "a198", 888, nullptr },
+ { "a199", 867, nullptr },
+ { "a10", 692, nullptr },
+ { "a11", 960, nullptr },
+ { "a12", 939, nullptr },
+ { "a13", 549, nullptr },
+ { "a14", 855, nullptr },
+ { "a15", 911, nullptr },
+ { "a16", 933, nullptr },
+ { "a17", 945, nullptr },
+ { "a18", 974, nullptr },
+ { "a19", 755, nullptr },
+ { "a20", 846, nullptr },
+ { "a21", 762, nullptr },
+ { "a22", 761, nullptr },
+ { "a23", 571, nullptr },
+ { "a24", 677, nullptr },
+ { "a25", 763, nullptr },
+ { "a26", 760, nullptr },
+ { "a27", 759, nullptr },
+ { "a28", 754, nullptr },
+ { "a29", 786, nullptr },
+ { "a30", 788, nullptr },
+ { "a31", 788, nullptr },
+ { "a32", 790, nullptr },
+ { "a33", 793, nullptr },
+ { "a34", 794, nullptr },
+ { "a35", 816, nullptr },
+ { "a36", 823, nullptr },
+ { "a37", 789, nullptr },
+ { "a38", 841, nullptr },
+ { "a39", 823, nullptr },
+ { "a40", 833, nullptr },
+ { "a41", 816, nullptr },
+ { "a42", 831, nullptr },
+ { "a43", 923, nullptr },
+ { "a44", 744, nullptr },
+ { "a45", 723, nullptr },
+ { "a46", 749, nullptr },
+ { "a47", 790, nullptr },
+ { "a48", 792, nullptr },
+ { "a49", 695, nullptr },
+ { "a100", 668, nullptr },
+ { "a101", 732, nullptr },
+ { "a102", 544, nullptr },
+ { "a103", 544, nullptr },
+ { "a104", 910, nullptr },
+ { "a105", 911, nullptr },
+ { "a106", 667, nullptr },
+ { "a107", 760, nullptr },
+ { "a108", 760, nullptr },
+ { "a109", 626, nullptr },
+ { "a50", 776, nullptr },
+ { "a51", 768, nullptr },
+ { "a52", 792, nullptr },
+ { "a53", 759, nullptr },
+ { "a54", 707, nullptr },
+ { "a55", 708, nullptr },
+ { "a56", 682, nullptr },
+ { "a57", 701, nullptr },
+ { "a58", 826, nullptr },
+ { "a59", 815, nullptr },
+ { "a110", 694, nullptr },
+ { "a111", 595, nullptr },
+ { "a112", 776, nullptr },
+ { "a117", 690, nullptr },
+ { "a118", 791, nullptr },
+ { "a119", 790, nullptr },
+ { "a60", 789, nullptr },
+ { "a61", 789, nullptr },
+ { "a62", 707, nullptr },
+ { "a63", 687, nullptr },
+ { "a64", 696, nullptr },
+ { "a65", 689, nullptr },
+ { "a66", 786, nullptr },
+ { "a67", 787, nullptr },
+ { "a68", 713, nullptr },
+ { "a69", 791, nullptr },
+ { "a200", 696, nullptr },
+ { "a201", 874, nullptr },
+ { "a120", 788, nullptr },
+ { "a121", 788, nullptr },
+ { "a202", 974, nullptr },
+ { "a122", 788, nullptr },
+ { "a203", 762, nullptr },
+ { "a123", 788, nullptr },
+ { "a204", 759, nullptr },
+ { "a124", 788, nullptr },
+ { "a205", 509, nullptr },
+ { "a125", 788, nullptr },
+ { "a206", 410, nullptr },
+ { "a126", 788, nullptr },
+ { "a127", 788, nullptr },
+ { "a128", 788, nullptr },
+ { "a129", 788, nullptr },
+ { "a70", 785, nullptr },
+ { "a71", 791, nullptr },
+ { "a72", 873, nullptr },
+ { "a73", 761, nullptr },
+ { "a74", 762, nullptr },
+ { "a75", 759, nullptr },
+ { "a76", 892, nullptr },
+ { "a77", 892, nullptr },
+ { "a78", 788, nullptr },
+ { "a79", 784, nullptr },
+ { "a130", 788, nullptr },
+ { "a131", 788, nullptr },
+ { "a132", 788, nullptr },
+ { "a133", 788, nullptr },
+ { "a134", 788, nullptr },
+ { "a135", 788, nullptr },
+ { "a136", 788, nullptr },
+ { "a137", 788, nullptr },
+ { "a138", 788, nullptr },
+ { "a139", 788, nullptr }
};
BuiltinFont builtinFonts[] = {
- { "Courier", standardEncoding, 629, -157, { -23, -250, 715, 805}, NULL },
- { "Courier-Bold", standardEncoding, 629, -157, {-113, -250, 749, 801}, NULL },
- { "Courier-BoldOblique", standardEncoding, 629, -157, { -57, -250, 869, 801}, NULL },
- { "Courier-Oblique", standardEncoding, 629, -157, { -27, -250, 849, 805}, NULL },
- { "Helvetica", standardEncoding, 718, -207, {-166, -225, 1000, 931}, NULL },
- { "Helvetica-Bold", standardEncoding, 718, -207, {-170, -228, 1003, 962}, NULL },
- { "Helvetica-BoldOblique", standardEncoding, 718, -207, {-174, -228, 1114, 962}, NULL },
- { "Helvetica-Oblique", standardEncoding, 718, -207, {-170, -225, 1116, 931}, NULL },
- { "Symbol", symbolEncoding, 1010, -293, {-180, -293, 1090, 1010}, NULL },
- { "Times-Bold", standardEncoding, 683, -217, {-168, -218, 1000, 935}, NULL },
- { "Times-BoldItalic", standardEncoding, 683, -217, {-200, -218, 996, 921}, NULL },
- { "Times-Italic", standardEncoding, 683, -217, {-169, -217, 1010, 883}, NULL },
- { "Times-Roman", standardEncoding, 683, -217, {-168, -218, 1000, 898}, NULL },
- { "ZapfDingbats", zapfDingbatsEncoding, 820, -143, { -1, -143, 981, 820}, NULL }
+ { "Courier", standardEncoding, 629, -157, { -23, -250, 715, 805}, nullptr },
+ { "Courier-Bold", standardEncoding, 629, -157, {-113, -250, 749, 801}, nullptr },
+ { "Courier-BoldOblique", standardEncoding, 629, -157, { -57, -250, 869, 801}, nullptr },
+ { "Courier-Oblique", standardEncoding, 629, -157, { -27, -250, 849, 805}, nullptr },
+ { "Helvetica", standardEncoding, 718, -207, {-166, -225, 1000, 931}, nullptr },
+ { "Helvetica-Bold", standardEncoding, 718, -207, {-170, -228, 1003, 962}, nullptr },
+ { "Helvetica-BoldOblique", standardEncoding, 718, -207, {-174, -228, 1114, 962}, nullptr },
+ { "Helvetica-Oblique", standardEncoding, 718, -207, {-170, -225, 1116, 931}, nullptr },
+ { "Symbol", symbolEncoding, 1010, -293, {-180, -293, 1090, 1010}, nullptr },
+ { "Times-Bold", standardEncoding, 683, -217, {-168, -218, 1000, 935}, nullptr },
+ { "Times-BoldItalic", standardEncoding, 683, -217, {-200, -218, 996, 921}, nullptr },
+ { "Times-Italic", standardEncoding, 683, -217, {-169, -217, 1010, 883}, nullptr },
+ { "Times-Roman", standardEncoding, 683, -217, {-168, -218, 1000, 898}, nullptr },
+ { "ZapfDingbats", zapfDingbatsEncoding, 820, -143, { -1, -143, 981, 820}, nullptr }
};
BuiltinFont *builtinFontSubst[] = {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -77,12 +77,12 @@
}
delete cMapNameA;
} else if (obj->isStream()) {
- if (!(cMap = CMap::parse(NULL, collectionA, obj->getStream()))) {
+ if (!(cMap = CMap::parse(nullptr, collectionA, obj->getStream()))) {
error(errSyntaxError, -1, "Invalid CMap in Type 0 font");
}
} else {
error(errSyntaxError, -1, "Invalid Encoding in Type 0 font");
- return NULL;
+ return nullptr;
}
return cMap;
}
@@ -105,7 +105,7 @@
error(errSyntaxError, -1,
"Couldn't find '{0:t}' CMap file for '{1:t}' collection",
cMapNameA, collectionA);
- return NULL;
+ return nullptr;
}
cMap = new CMap(collectionA->copy(), cMapNameA->copy());
@@ -117,7 +117,7 @@
}
CMap *CMap::parse(CMapCache *cache, GooString *collectionA, Stream *str) {
- CMap *cMap = new CMap(collectionA->copy(), NULL);
+ CMap *cMap = new CMap(collectionA->copy(), nullptr);
Object obj1 = str->getDict()->lookup("UseCMap");
if (!obj1.isNull()) {
cMap->useCMap(cache, &obj1);
@@ -131,7 +131,7 @@
CMap *CMap::parse(CMapCache *cache, GooString *collectionA,
GooString *cMapNameA, Stream *stream) {
- FILE *f = NULL;
+ FILE *f = nullptr;
CMap *cmap;
PSTokenizer *pst;
char tok1[256], tok2[256], tok3[256];
@@ -154,7 +154,7 @@
error(errSyntaxError, -1, "Couldn't find '{0:t}' CMap file for '{1:t}' collection",
cMapNameA, collectionA);
- return NULL;
+ return nullptr;
}
pst = new PSTokenizer(&getCharFromFile, f);
}
@@ -323,7 +323,7 @@
cMapName = cMapNameA;
isIdent = gTrue;
wMode = wModeA;
- vector = NULL;
+ vector = nullptr;
refCnt = 1;
#ifdef MULTITHREADED
gInitMutex(&mutex);
@@ -340,7 +340,7 @@
// GlobalParams::getCMap() in order to acqure the lock need to use
// GlobalParams::getCMap
if (cache) {
- subCMap = cache->getCMap(collection, useNameStr, NULL);
+ subCMap = cache->getCMap(collection, useNameStr, nullptr);
} else {
subCMap = globalParams->getCMap(collection, useNameStr);
}
@@ -511,7 +511,7 @@
Guint *rmap, Guint rmapSize, Guint ncand) {
int i;
- if (vec == 0) return;
+ if (vec == nullptr) return;
for (i = 0;i < 256;i++) {
if (vec[i].isVector) {
setReverseMapVector((startCode+i) << 8,
@@ -547,7 +547,7 @@
int i;
for (i = 0; i < cMapCacheSize; ++i) {
- cache[i] = NULL;
+ cache[i] = nullptr;
}
}
@@ -591,5 +591,5 @@
cmap->incRefCnt();
return cmap;
}
- return NULL;
+ return nullptr;
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CMap.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2008 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2009 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2012, 2017 Adrian Johnson <ajohnson at redneon.com>
//
// To see a description of the changes please see the Changelog file that
@@ -71,6 +71,9 @@
~CMap();
+ CMap(const CMap &) = delete;
+ CMap& operator=(const CMap &) = delete;
+
void incRefCnt();
void decRefCnt();
@@ -129,6 +132,9 @@
CMapCache();
~CMapCache();
+ CMapCache(const CMapCache &) = delete;
+ CMapCache& operator=(const CMapCache &) = delete;
+
// Get the <cMapName> CMap for the specified character collection.
// Increments its reference count; there will be one reference for
// the cache plus one for the caller of this function.
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,7 +6,7 @@
//
// Copyright 2009 Stefan Thomas <thomas at eload24.com>
// Copyright 2010, 2011 Hib Eris <hib at hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2013 Julien Nabet <serval2412 at yahoo.fr>
//
//========================================================================
@@ -172,12 +172,12 @@
return bytes;
}
-int CachedFile::cache(size_t offset, size_t length)
+int CachedFile::cache(size_t rangeOffset, size_t rangeLength)
{
std::vector<ByteRange> r;
ByteRange range;
- range.offset = offset;
- range.length = length;
+ range.offset = rangeOffset;
+ range.length = rangeLength;
r.push_back(range);
return cache(r);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CachedFile.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -8,7 +8,7 @@
//
// Copyright 2009 Stefan Thomas <thomas at eload24.com>
// Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid at kde.org>
//
//========================================================================
@@ -47,6 +47,9 @@
CachedFile(CachedFileLoader *cacheLoader, GooString *uri);
+ CachedFile(const CachedFile &) = delete;
+ CachedFile& operator=(const CachedFile &) = delete;
+
Guint getLength() { return length; }
long int tell();
int seek(long int offset, int origin);
@@ -127,8 +130,12 @@
public:
+ CachedFileLoader() = default;
virtual ~CachedFileLoader() {};
+ CachedFileLoader(const CachedFileLoader &) = delete;
+ CachedFileLoader& operator=(const CachedFileLoader &) = delete;
+
// Initializes the file load.
// Returns the length of the file.
// The caller is responsible for deleting uri and cachedFile.
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -17,7 +17,7 @@
// Copyright (C) 2005-2007 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2005 Martin Kretzschmar <martink at gnome.org>
-// Copyright (C) 2005, 2009, 2012, 2013, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2009, 2012, 2013, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006, 2007, 2010, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2007 Koji Otani <sho at bbr.jp>
// Copyright (C) 2008, 2009 Chris Wilson <chris at chris-wilson.co.uk>
@@ -70,17 +70,17 @@
// CairoFont
//------------------------------------------------------------------------
-CairoFont::CairoFont(Ref ref,
- cairo_font_face_t *cairo_font_face,
- int *codeToGID,
- Guint codeToGIDLen,
- GBool substitute,
- GBool printing) : ref(ref),
- cairo_font_face(cairo_font_face),
- codeToGID(codeToGID),
- codeToGIDLen(codeToGIDLen),
- substitute(substitute),
- printing(printing) { }
+CairoFont::CairoFont(Ref refA,
+ cairo_font_face_t *cairo_font_faceA,
+ int *codeToGIDA,
+ Guint codeToGIDLenA,
+ GBool substituteA,
+ GBool printingA) : ref(refA),
+ cairo_font_face(cairo_font_faceA),
+ codeToGID(codeToGIDA),
+ codeToGIDLen(codeToGIDLenA),
+ substitute(substituteA),
+ printing(printingA) { }
CairoFont::~CairoFont() {
cairo_font_face_destroy (cairo_font_face);
@@ -181,7 +181,7 @@
FT_Face face;
cairo_font_face_t *font_face;
- if (font_data == NULL) {
+ if (font_data == nullptr) {
if (FT_New_Face (lib, filename, 0, &face))
return gFalse;
} else {
@@ -287,7 +287,7 @@
tmpl.fd = -1;
- if (font_data == NULL) {
+ if (font_data == nullptr) {
/* if we fail to mmap the file, just pass it to FreeType instead */
tmpl.fd = open (filename, O_RDONLY);
if (tmpl.fd == -1)
@@ -298,7 +298,7 @@
return _ft_new_face_uncached (lib, filename, font_data, font_data_len, face_out, font_face_out);
}
- tmpl.bytes = (unsigned char *) mmap (NULL, st.st_size,
+ tmpl.bytes = (unsigned char *) mmap (nullptr, st.st_size,
PROT_READ, MAP_PRIVATE,
tmpl.fd, 0);
if (tmpl.bytes == MAP_FAILED) {
@@ -352,7 +352,7 @@
l = (struct _ft_face_data *) gmallocn (1, sizeof (struct _ft_face_data));
*l = tmpl;
- l->prev = NULL;
+ l->prev = nullptr;
l->next = _ft_open_faces;
if (_ft_open_faces)
_ft_open_faces->prev = l;
@@ -379,15 +379,15 @@
#define _ft_new_face _ft_new_face_uncached
#endif
-CairoFreeTypeFont::CairoFreeTypeFont(Ref ref,
- cairo_font_face_t *cairo_font_face,
- int *codeToGID,
- Guint codeToGIDLen,
- GBool substitute) : CairoFont(ref,
- cairo_font_face,
- codeToGID,
- codeToGIDLen,
- substitute,
+CairoFreeTypeFont::CairoFreeTypeFont(Ref refA,
+ cairo_font_face_t *cairo_font_faceA,
+ int *codeToGIDA,
+ Guint codeToGIDLenA,
+ GBool substituteA) : CairoFont(refA,
+ cairo_font_faceA,
+ codeToGIDA,
+ codeToGIDLenA,
+ substituteA,
gTrue) { }
CairoFreeTypeFont::~CairoFreeTypeFont() { }
@@ -394,7 +394,6 @@
CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref,
FT_Library lib, GBool useCIDs) {
- Object refObj, strObj;
GooString *fileName;
char *fileNameC;
char *font_data;
@@ -413,12 +412,12 @@
int *codeToGID;
Guint codeToGIDLen;
- codeToGID = NULL;
+ codeToGID = nullptr;
codeToGIDLen = 0;
- font_data = NULL;
+ font_data = nullptr;
font_data_len = 0;
- fileName = NULL;
- fileNameC = NULL;
+ fileName = nullptr;
+ fileNameC = nullptr;
GBool substitute = gFalse;
@@ -425,7 +424,7 @@
ref = *gfxFont->getID();
fontType = gfxFont->getType();
- if (!(fontLoc = gfxFont->locateFont(xref, NULL))) {
+ if (!(fontLoc = gfxFont->locateFont(xref, nullptr))) {
error(errSyntaxError, -1, "Couldn't find a font for '{0:s}'",
gfxFont->getName() ? gfxFont->getName()->getCString()
: "(unnamed)");
@@ -435,7 +434,7 @@
// embedded font
if (fontLoc->locType == gfxFontLocEmbedded) {
font_data = gfxFont->readEmbFontFile(xref, &font_data_len);
- if (NULL == font_data)
+ if (nullptr == font_data)
goto err2;
// external font
@@ -445,7 +444,7 @@
substitute = gTrue;
}
- if (fileName != NULL) {
+ if (fileName != nullptr) {
fileNameC = fileName->getCString();
}
@@ -482,7 +481,7 @@
break;
case fontCIDType2:
case fontCIDType2OT:
- codeToGID = NULL;
+ codeToGID = nullptr;
n = 0;
if (((GfxCIDFont *)gfxFont)->getCIDToGID()) {
n = ((GfxCIDFont *)gfxFont)->getCIDToGIDLen();
@@ -492,7 +491,7 @@
n * sizeof(int));
}
} else {
- if (font_data != NULL) {
+ if (font_data != nullptr) {
ff = FoFiTrueType::make(font_data, font_data_len);
} else {
ff = FoFiTrueType::load(fileNameC);
@@ -506,7 +505,7 @@
/* Fall through */
case fontTrueType:
case fontTrueTypeOT:
- if (font_data != NULL) {
+ if (font_data != nullptr) {
ff = FoFiTrueType::make(font_data, font_data_len);
} else {
ff = FoFiTrueType::load(fileNameC);
@@ -530,12 +529,12 @@
case fontCIDType0:
case fontCIDType0C:
- codeToGID = NULL;
+ codeToGID = nullptr;
codeToGIDLen = 0;
if (!useCIDs)
{
- if (font_data != NULL) {
+ if (font_data != nullptr) {
ff1c = FoFiType1C::make(font_data, font_data_len);
} else {
ff1c = FoFiType1C::load(fileNameC);
@@ -553,7 +552,7 @@
break;
case fontCIDType0COT:
- codeToGID = NULL;
+ codeToGID = nullptr;
n = 0;
if (((GfxCIDFont *)gfxFont)->getCIDToGID()) {
n = ((GfxCIDFont *)gfxFont)->getCIDToGIDLen();
@@ -567,7 +566,7 @@
if (!codeToGID) {
if (!useCIDs) {
- if (font_data != NULL) {
+ if (font_data != nullptr) {
ff = FoFiTrueType::make(font_data, font_data_len);
} else {
ff = FoFiTrueType::load(fileNameC);
@@ -604,7 +603,7 @@
gfree (codeToGID);
gfree (font_data);
fprintf (stderr, "some font thing failed\n");
- return NULL;
+ return nullptr;
}
//------------------------------------------------------------------------
@@ -704,7 +703,7 @@
box.y1 = mat[1];
box.x2 = mat[2];
box.y2 = mat[3];
- gfx = new Gfx(info->doc, output_dev, resDict, &box, NULL);
+ gfx = new Gfx(info->doc, output_dev, resDict, &box, nullptr);
output_dev->startDoc(info->doc, info->fontEngine);
output_dev->startPage (1, gfx->getState(), gfx->getXRef());
output_dev->setInType3Char(gTrue);
@@ -736,7 +735,6 @@
CairoType3Font *CairoType3Font::create(GfxFont *gfxFont, PDFDoc *doc,
CairoFontEngine *fontEngine,
GBool printing, XRef *xref) {
- Object refObj, strObj;
type3_font_info_t *info;
cairo_font_face_t *font_face;
Ref ref;
@@ -779,18 +777,18 @@
return new CairoType3Font(ref, doc, font_face, codeToGID, codeToGIDLen, printing, xref);
}
-CairoType3Font::CairoType3Font(Ref ref,
- PDFDoc *doc,
- cairo_font_face_t *cairo_font_face,
- int *codeToGID,
- Guint codeToGIDLen,
- GBool printing, XRef *xref) : CairoFont(ref,
- cairo_font_face,
- codeToGID,
- codeToGIDLen,
+CairoType3Font::CairoType3Font(Ref refA,
+ PDFDoc *docA,
+ cairo_font_face_t *cairo_font_faceA,
+ int *codeToGIDA,
+ Guint codeToGIDLenA,
+ GBool printingA, XRef *xref) : CairoFont(refA,
+ cairo_font_faceA,
+ codeToGIDA,
+ codeToGIDLenA,
gFalse,
- printing),
- doc(doc) { }
+ printingA),
+ doc(docA) { }
CairoType3Font::~CairoType3Font() { }
@@ -809,7 +807,7 @@
lib = libA;
for (i = 0; i < cairoFontCacheSize; ++i) {
- fontCache[i] = NULL;
+ fontCache[i] = nullptr;
}
FT_Int major, minor, patch;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoFontEngine.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -15,7 +15,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2006, 2010 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2008, 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -51,6 +51,8 @@
GBool substitute,
GBool printing);
virtual ~CairoFont();
+ CairoFont(const CairoFont &) = delete;
+ CairoFont& operator=(const CairoFont &other) = delete;
virtual GBool matches(Ref &other, GBool printing);
cairo_font_face_t *getFontFace(void);
@@ -114,6 +116,8 @@
// Create a font engine.
CairoFontEngine(FT_Library libA);
~CairoFontEngine();
+ CairoFontEngine(const CairoFontEngine &) = delete;
+ CairoFontEngine& operator=(const CairoFontEngine &other) = delete;
CairoFont *getFont(GfxFont *gfxFont, PDFDoc *doc, GBool printing, XRef *xref);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -16,9 +16,9 @@
//
// Copyright (C) 2005-2008 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2009, 2012, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2009, 2012, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev at yandex.ru>
-// Copyright (C) 2006-2011, 2013, 2014, 2017 Carlos Garcia Campos <carlosgc at gnome.org>
+// Copyright (C) 2006-2011, 2013, 2014, 2017, 2018 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2008 Carl Worth <cworth at cworth.org>
// Copyright (C) 2008-2017 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2008 Michael Vrable <mvrable at cs.ucsd.edu>
@@ -69,6 +69,11 @@
// #define LOG_CAIRO
+// To limit memory usage and improve performance when printing, limit
+// cairo images to this size. 8192 is sufficient for an A2 sized
+// 300ppi image.
+#define MAX_PRINT_IMAGE_SIZE 8192
+
#ifdef LOG_CAIRO
#define LOG(x) (x)
#else
@@ -91,7 +96,7 @@
//------------------------------------------------------------------------
CairoImage::CairoImage (double x1, double y1, double x2, double y2) {
- this->image = NULL;
+ this->image = nullptr;
this->x1 = x1;
this->y1 = y1;
this->x2 = x2;
@@ -123,7 +128,7 @@
GBool CairoOutputDev::ft_lib_initialized = gFalse;
CairoOutputDev::CairoOutputDev() {
- doc = NULL;
+ doc = nullptr;
if (!ft_lib_initialized) {
FT_Init_FreeType(&ft_lib);
@@ -130,19 +135,19 @@
ft_lib_initialized = gTrue;
}
- fontEngine = NULL;
+ fontEngine = nullptr;
fontEngine_owner = gFalse;
- glyphs = NULL;
- fill_pattern = NULL;
+ glyphs = nullptr;
+ fill_pattern = nullptr;
fill_color.r = fill_color.g = fill_color.b = 0;
- stroke_pattern = NULL;
+ stroke_pattern = nullptr;
stroke_color.r = stroke_color.g = stroke_color.b = 0;
stroke_opacity = 1.0;
fill_opacity = 1.0;
- textClipPath = NULL;
- strokePathClip = NULL;
- cairo = NULL;
- currentFont = NULL;
+ textClipPath = nullptr;
+ strokePathClip = nullptr;
+ cairo = nullptr;
+ currentFont = nullptr;
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0)
prescaleImages = gFalse;
#else
@@ -156,16 +161,16 @@
text_matrix_valid = gTrue;
antialias = CAIRO_ANTIALIAS_DEFAULT;
- groupColorSpaceStack = NULL;
- maskStack = NULL;
- group = NULL;
- mask = NULL;
- shape = NULL;
- cairo_shape = NULL;
+ groupColorSpaceStack = nullptr;
+ maskStack = nullptr;
+ group = nullptr;
+ mask = nullptr;
+ shape = nullptr;
+ cairo_shape = nullptr;
knockoutCount = 0;
- text = NULL;
- actualText = NULL;
+ text = nullptr;
+ actualText = nullptr;
// the SA parameter supposedly defaults to false, but Acrobat
// apparently hardwires it to true
@@ -172,7 +177,7 @@
stroke_adjust = gTrue;
align_stroke_coords = gFalse;
adjusted_stroke_width = gFalse;
- xref = NULL;
+ xref = nullptr;
}
CairoOutputDev::~CairoOutputDev() {
@@ -198,7 +203,7 @@
void CairoOutputDev::setCairo(cairo_t *cairo)
{
- if (this->cairo != NULL) {
+ if (this->cairo != nullptr) {
cairo_status_t status = cairo_status (this->cairo);
if (status) {
error(errInternal, -1, "cairo context error: {0:s}\n", cairo_status_to_string(status));
@@ -206,7 +211,7 @@
cairo_destroy (this->cairo);
assert(!cairo_shape);
}
- if (cairo != NULL) {
+ if (cairo != nullptr) {
this->cairo = cairo_reference (cairo);
/* save the initial matrix so that we can use it for type3 fonts. */
//XXX: is this sufficient? could we miss changes to the matrix somehow?
@@ -213,8 +218,8 @@
cairo_get_matrix(cairo, &orig_matrix);
setContextAntialias(cairo, antialias);
} else {
- this->cairo = NULL;
- this->cairo_shape = NULL;
+ this->cairo = nullptr;
+ this->cairo_shape = nullptr;
}
}
@@ -229,8 +234,8 @@
this->text->incRefCnt();
actualText = new ActualText(text);
} else {
- this->text = NULL;
- actualText = NULL;
+ this->text = nullptr;
+ actualText = nullptr;
}
}
@@ -281,7 +286,7 @@
if (text)
text->startPage(state);
- if (xrefA != NULL) {
+ if (xrefA != nullptr) {
xref = xrefA;
}
}
@@ -340,7 +345,7 @@
if (strokePathClip->dashes)
gfree (strokePathClip->dashes);
gfree (strokePathClip);
- strokePathClip = NULL;
+ strokePathClip = nullptr;
}
}
@@ -950,11 +955,11 @@
cairo_translate (cairo, -box.x1, -box.y1);
strokePathTmp = strokePathClip;
- strokePathClip = NULL;
+ strokePathClip = nullptr;
adjusted_stroke_width_tmp = adjusted_stroke_width;
maskTmp = mask;
- mask = NULL;
- gfx = new Gfx(doc, this, resDict, &box, NULL, NULL, NULL, gfxA->getXRef());
+ mask = nullptr;
+ gfx = new Gfx(doc, this, resDict, &box, nullptr, nullptr, nullptr, gfxA->getXRef());
if (paintType == 2)
inUncoloredPattern = gTrue;
gfx->display(str);
@@ -1351,7 +1356,7 @@
strokePathClip->dashes = (double*) gmallocn (sizeof(double), strokePathClip->dash_count);
cairo_get_dash (cairo, strokePathClip->dashes, &strokePathClip->dash_offset);
} else {
- strokePathClip->dashes = NULL;
+ strokePathClip->dashes = nullptr;
}
strokePathClip->cap = cairo_get_line_cap (cairo);
strokePathClip->join = cairo_get_line_join (cairo);
@@ -1503,12 +1508,12 @@
finish:
gfree (glyphs);
- glyphs = NULL;
+ glyphs = nullptr;
if (use_show_text_glyphs) {
gfree (clusters);
- clusters = NULL;
+ clusters = nullptr;
gfree (utf8);
- utf8 = NULL;
+ utf8 = nullptr;
}
}
@@ -1579,7 +1584,7 @@
cairo_clip (cairo_shape);
}
cairo_path_destroy (textClipPath);
- textClipPath = NULL;
+ textClipPath = nullptr;
}
}
@@ -1611,7 +1616,7 @@
cairo_surface_t *cairo_surface_create_similar_clip (cairo_t *cairo, cairo_content_t content)
{
cairo_pattern_t *pattern;
- cairo_surface_t *surface = NULL;
+ cairo_surface_t *surface = nullptr;
cairo_push_group_with_content (cairo, content);
pattern = cairo_pop_group (cairo);
@@ -1723,7 +1728,7 @@
cairo_paint_with_alpha (cairo, fill_opacity);
}
cairo_pattern_destroy(mask);
- mask = NULL;
+ mask = nullptr;
}
if (shape) {
@@ -1733,7 +1738,7 @@
cairo_set_source_rgb (cairo_shape, 0, 0, 0);
}
cairo_pattern_destroy (shape);
- shape = NULL;
+ shape = nullptr;
}
popTransparencyGroup();
@@ -1881,7 +1886,7 @@
/* we don't need to track the shape anymore because
* we are not above any knockout groups */
cairo_destroy(cairo_shape);
- cairo_shape = NULL;
+ cairo_shape = nullptr;
}
}
groupColorSpaceStack = css->next;
@@ -1892,7 +1897,7 @@
void CairoOutputDev::clearSoftMask(GfxState * /*state*/) {
if (mask)
cairo_pattern_destroy(mask);
- mask = NULL;
+ mask = nullptr;
}
/* Taken from cairo/doc/tutorial/src/singular.c */
@@ -1965,7 +1970,7 @@
GBool interpolate)
{
if (interpolate)
- return CAIRO_FILTER_BEST;
+ return CAIRO_FILTER_GOOD;
int orig_width = cairo_image_surface_get_width (image);
int orig_height = cairo_image_surface_get_height (image);
@@ -1985,7 +1990,7 @@
if (scaled_width / orig_width >= 4 || scaled_height / orig_height >= 4)
return CAIRO_FILTER_NEAREST;
- return CAIRO_FILTER_BEST;
+ return CAIRO_FILTER_GOOD;
}
void CairoOutputDev::drawImageMask(GfxState *state, Object *ref, Stream *str,
@@ -2453,7 +2458,7 @@
* cairo doesn't yet do minifaction filtering causing scaled down
* images with CAIRO_FILTER_NEAREST to look really bad */
cairo_pattern_set_filter (pattern,
- interpolate ? CAIRO_FILTER_BEST : CAIRO_FILTER_FAST);
+ interpolate ? CAIRO_FILTER_GOOD : CAIRO_FILTER_FAST);
if (state->getFillColorSpace()->getMode() == csPattern) {
cairo_matrix_init_translate (&matrix, 0, scaledHeight);
@@ -2761,7 +2766,7 @@
cairo_surface_mark_dirty (image);
- setMimeData(state, str, ref, colorMap, image);
+ setMimeData(state, str, ref, colorMap, image, height);
pattern = cairo_pattern_create_for_surface (image);
cairo_surface_destroy (image);
@@ -2915,7 +2920,7 @@
if (!globalsStr->isStream())
return gTrue;
- if (setMimeIdFromRef(image, CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID, NULL,
+ if (setMimeIdFromRef(image, CAIRO_MIME_TYPE_JBIG2_GLOBAL_ID, nullptr,
jb2Str->getGlobalsStreamRef()))
return gFalse;
@@ -2935,8 +2940,38 @@
}
#endif
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 15, 10)
+GBool CairoOutputDev::setMimeDataForCCITTParams(Stream *str,
+ cairo_surface_t *image, int height)
+{
+ CCITTFaxStream *ccittStr = static_cast<CCITTFaxStream *>(str);
+
+ GooString params;
+ params.appendf("Columns={0:d}", ccittStr->getColumns());
+ params.appendf(" Rows={0:d}", height);
+ params.appendf(" K={0:d}", ccittStr->getEncoding());
+ params.appendf(" EndOfLine={0:d}", ccittStr->getEndOfLine() ? 1 : 0);
+ params.appendf(" EncodedByteAlign={0:d}", ccittStr->getEncodedByteAlign() ? 1 : 0);
+ params.appendf(" EndOfBlock={0:d}", ccittStr->getEndOfBlock() ? 1 : 0);
+ params.appendf(" BlackIs1={0:d}", ccittStr->getBlackIs1() ? 1 : 0);
+ params.appendf(" DamagedRowsBeforeError={0:d}", ccittStr->getDamagedRowsBeforeError());
+
+ char *p = strdup(params.getCString());
+ if (cairo_surface_set_mime_data (image, CAIRO_MIME_TYPE_CCITT_FAX_PARAMS,
+ (const unsigned char*)p,
+ params.getLength(),
+ gfree, (void*)p))
+ {
+ gfree (p);
+ return gFalse;
+ }
+
+ return gTrue;
+}
+#endif
+
void CairoOutputDev::setMimeData(GfxState *state, Stream *str, Object *ref,
- GfxImageColorMap *colorMap, cairo_surface_t *image)
+ GfxImageColorMap *colorMap, cairo_surface_t *image, int height)
{
char *strBuffer;
int len;
@@ -2960,12 +2995,17 @@
mime_type = CAIRO_MIME_TYPE_JBIG2;
break;
#endif
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 15, 10)
+ case strCCITTFax:
+ mime_type = CAIRO_MIME_TYPE_CCITT_FAX;
+ break;
+#endif
default:
return;
}
obj = str->getDict()->lookup("ColorSpace");
- colorSpace = GfxColorSpace::parse(NULL, &obj, this, state);
+ colorSpace = GfxColorSpace::parse(nullptr, &obj, this, state);
// colorspace in stream dict may be different from colorspace in jpx
// data
@@ -3002,6 +3042,11 @@
return;
#endif
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 15, 10)
+ if (strKind == strCCITTFax && !setMimeDataForCCITTParams(str, image, height))
+ return;
+#endif
+
if (getStreamData (str->getNextStream(), &strBuffer, &len)) {
cairo_status_t status = CAIRO_STATUS_SUCCESS;
@@ -3039,10 +3084,10 @@
GBool printing,
GfxImageColorMap *colorMapA,
int *maskColorsA) {
- cairo_surface_t *image = NULL;
+ cairo_surface_t *image = nullptr;
int i;
- lookup = NULL;
+ lookup = nullptr;
colorMap = colorMapA;
maskColors = maskColorsA;
width = widthA;
@@ -3085,7 +3130,22 @@
bool needsCustomDownscaling = true;
#endif
- if (!needsCustomDownscaling || printing || scaledWidth >= width || scaledHeight >= height) {
+ if (printing) {
+ if (width > MAX_PRINT_IMAGE_SIZE || height > MAX_PRINT_IMAGE_SIZE) {
+ if (width > height) {
+ scaledWidth = MAX_PRINT_IMAGE_SIZE;
+ scaledHeight = MAX_PRINT_IMAGE_SIZE * (double)height/width;
+ } else {
+ scaledHeight = MAX_PRINT_IMAGE_SIZE;
+ scaledWidth = MAX_PRINT_IMAGE_SIZE * (double)width/height;
+ }
+ needsCustomDownscaling = true;
+ } else {
+ needsCustomDownscaling = false;
+ }
+ }
+
+ if (!needsCustomDownscaling || scaledWidth >= width || scaledHeight >= height) {
// No downscaling. Create cairo image containing the source image data.
unsigned char *buffer;
ptrdiff_t stride;
@@ -3133,7 +3193,6 @@
}
void getRow(int row_num, uint32_t *row_data) override {
- int i;
Guchar *pix;
if (row_num <= current_row)
@@ -3144,7 +3203,7 @@
current_row++;
}
- if (unlikely(pix == NULL)) {
+ if (unlikely(pix == nullptr)) {
memset(row_data, 0, width*4);
if (!imageError) {
error(errInternal, -1, "Bad image stream");
@@ -3154,7 +3213,7 @@
Guchar *p = pix;
GfxRGB rgb;
- for (i = 0; i < width; i++) {
+ for (int i = 0; i < width; i++) {
rgb = lookup[*p];
row_data[i] =
((int) colToByte(rgb.r) << 16) |
@@ -3199,7 +3258,7 @@
cairo_matrix_t matrix;
int width, height;
int scaledWidth, scaledHeight;
- cairo_filter_t filter = CAIRO_FILTER_BEST;
+ cairo_filter_t filter = CAIRO_FILTER_GOOD;
RescaleDrawImage rescale;
LOG (printf ("drawImage %dx%d\n", widthA, heightA));
@@ -3215,8 +3274,17 @@
if (width == widthA && height == heightA)
filter = getFilterForSurface (image, interpolate);
- if (!inlineImg) /* don't read stream twice if it is an inline image */
- setMimeData(state, str, ref, colorMap, image);
+ if (!inlineImg) { /* don't read stream twice if it is an inline image */
+ // cairo 1.15.10 allows mime image data to have different size to cairo image
+ // mime image size will be scaled to same size as cairo image
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 15, 10)
+ bool requireSameSize = false;
+#else
+ bool requireSameSize = true;
+#endif
+ if (!requireSameSize || (width == widthA && height == heightA))
+ setMimeData(state, str, ref, colorMap, image, heightA);
+ }
pattern = cairo_pattern_create_for_surface (image);
cairo_surface_destroy (image);
@@ -3241,7 +3309,7 @@
} else if (mask) {
maskPattern = cairo_pattern_reference (mask);
} else {
- maskPattern = NULL;
+ maskPattern = nullptr;
}
cairo_save (cairo);
@@ -3286,11 +3354,11 @@
CairoImageOutputDev::CairoImageOutputDev()
{
- images = NULL;
+ images = nullptr;
numImages = 0;
size = 0;
- imgDrawCbk = NULL;
- imgDrawCbkData = NULL;
+ imgDrawCbk = nullptr;
+ imgDrawCbkData = nullptr;
}
CairoImageOutputDev::~CairoImageOutputDev()
@@ -3363,7 +3431,7 @@
CairoOutputDev::drawImageMask(state, ref, str, width, height, invert, interpolate, inlineImg);
image->setImage (surface);
- setCairo (NULL);
+ setCairo (nullptr);
cairo_surface_destroy (surface);
cairo_destroy (cr);
}
@@ -3396,7 +3464,7 @@
}
image->setImage (surface);
- setCairo (NULL);
+ setCairo (nullptr);
cairo_surface_destroy (surface);
cairo_destroy (cr);
}
@@ -3426,7 +3494,7 @@
CairoOutputDev::drawImage(state, ref, str, width, height, colorMap, interpolate, maskColors, inlineImg);
image->setImage (surface);
- setCairo (NULL);
+ setCairo (nullptr);
cairo_surface_destroy (surface);
cairo_destroy (cr);
}
@@ -3462,7 +3530,7 @@
maskStr, maskWidth, maskHeight, maskColorMap, maskInterpolate);
image->setImage (surface);
- setCairo (NULL);
+ setCairo (nullptr);
cairo_surface_destroy (surface);
cairo_destroy (cr);
}
@@ -3497,7 +3565,7 @@
maskStr, maskWidth, maskHeight, maskInvert, maskInterpolate);
image->setImage (surface);
- setCairo (NULL);
+ setCairo (nullptr);
cairo_surface_destroy (surface);
cairo_destroy (cr);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoOutputDev.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -18,11 +18,12 @@
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev at yandex.ru>
// Copyright (C) 2006-2011, 2013 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2008, 2009, 2011-2016 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2008, 2009, 2011-2017 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2008 Michael Vrable <mvrable at cs.ucsd.edu>
// Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2015 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
// Copyright (C) 2016 Jason Crain <jason at aquaticape.us>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -63,6 +64,9 @@
// Destructor.
~CairoImage ();
+ CairoImage(const CairoImage &) = delete;
+ CairoImage& operator=(const CairoImage &) = delete;
+
// Set the image cairo surface
void setImage (cairo_surface_t *image);
@@ -265,10 +269,10 @@
void setCairo (cairo_t *cr);
void setTextPage (TextPage *text);
- void setPrinting (GBool printing) { this->printing = printing; needFontUpdate = gTrue; }
+ void setPrinting (GBool printingA) { printing = printingA; needFontUpdate = gTrue; }
void setAntialias(cairo_antialias_t antialias);
- void setInType3Char(GBool inType3Char) { this->inType3Char = inType3Char; }
+ void setInType3Char(GBool inType3CharA) { inType3Char = inType3CharA; }
void getType3GlyphWidth (double *wx, double *wy) { *wx = t3_glyph_wx; *wy = t3_glyph_wy; }
GBool hasType3GlyphBBox () { return t3_glyph_has_bbox; }
double *getType3GlyphBBox () { return t3_glyph_bbox; }
@@ -283,12 +287,15 @@
GBool interpolate);
GBool getStreamData (Stream *str, char **buffer, int *length);
void setMimeData(GfxState *state, Stream *str, Object *ref,
- GfxImageColorMap *colorMap, cairo_surface_t *image);
+ GfxImageColorMap *colorMap, cairo_surface_t *image, int height);
void fillToStrokePathClip(GfxState *state);
void alignStrokeCoords(GfxSubpath *subpath, int i, double *x, double *y);
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 14, 0)
GBool setMimeDataForJBIG2Globals (Stream *str, cairo_surface_t *image);
#endif
+#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 15, 10)
+ GBool setMimeDataForCCITTParams(Stream *str, cairo_surface_t *image, int height);
+#endif
static void setContextAntialias(cairo_t *cr, cairo_antialias_t antialias);
GfxRGB fill_color, stroke_color;
@@ -328,7 +335,6 @@
GBool printing;
GBool use_show_text_glyphs;
GBool text_matrix_valid;
- cairo_surface_t *surface;
cairo_glyph_t *glyphs;
int glyphCount;
cairo_text_cluster_t *clusters;
@@ -352,7 +358,6 @@
cairo_pattern_t *shape;
cairo_pattern_t *mask;
cairo_matrix_t mask_matrix;
- cairo_surface_t *cairo_shape_surface;
cairo_t *cairo_shape;
int knockoutCount;
struct ColorSpaceStack {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -271,9 +271,9 @@
int dest_y;
int src_y = 0;
uint32_t *scanline;
- int *x_coverage = NULL;
- int *y_coverage = NULL;
- uint32_t *temp_buf = NULL;
+ int *x_coverage = nullptr;
+ int *y_coverage = nullptr;
+ uint32_t *temp_buf = nullptr;
GBool retval = gFalse;
unsigned int *dest;
int dst_stride;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CairoRescaleBox.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -30,6 +30,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -48,6 +49,9 @@
CairoRescaleBox() {};
virtual ~CairoRescaleBox() {};
+ CairoRescaleBox(const CairoRescaleBox &) = delete;
+ CairoRescaleBox& operator=(const CairoRescaleBox &) = delete;
+
virtual GBool downScaleImage(unsigned orig_width, unsigned orig_height,
signed scaled_width, signed scaled_height,
unsigned short int start_column, unsigned short int start_row,
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -80,26 +80,26 @@
ok = gTrue;
doc = docA;
xref = doc->getXRef();
- pages = NULL;
- pageRefs = NULL;
+ pages = nullptr;
+ pageRefs = nullptr;
numPages = -1;
pagesSize = 0;
- baseURI = NULL;
- pageLabelInfo = NULL;
- form = NULL;
- optContent = NULL;
+ baseURI = nullptr;
+ pageLabelInfo = nullptr;
+ form = nullptr;
+ optContent = nullptr;
pageMode = pageModeNull;
pageLayout = pageLayoutNull;
- destNameTree = NULL;
- embeddedFileNameTree = NULL;
- jsNameTree = NULL;
- viewerPrefs = NULL;
- structTreeRoot = NULL;
+ destNameTree = nullptr;
+ embeddedFileNameTree = nullptr;
+ jsNameTree = nullptr;
+ viewerPrefs = nullptr;
+ structTreeRoot = nullptr;
- pagesList = NULL;
- pagesRefList = NULL;
- attrsList = NULL;
- kidsIdxList = NULL;
+ pagesList = nullptr;
+ pagesRefList = nullptr;
+ attrsList = nullptr;
+ kidsIdxList = nullptr;
lastCachedPage = 0;
markInfo = markInfoNull;
@@ -127,7 +127,7 @@
optContent = new OCGs(&optContentProps, xref);
if (!optContent->isOk ()) {
delete optContent;
- optContent = NULL;
+ optContent = nullptr;
}
}
@@ -202,13 +202,13 @@
Page *Catalog::getPage(int i)
{
- if (i < 1) return NULL;
+ if (i < 1) return nullptr;
catalogLocker();
if (i > lastCachedPage) {
GBool cached = cachePageTree(i);
if ( cached == gFalse) {
- return NULL;
+ return nullptr;
}
}
return pages[i-1];
@@ -216,13 +216,13 @@
Ref *Catalog::getPageRef(int i)
{
- if (i < 1) return NULL;
+ if (i < 1) return nullptr;
catalogLocker();
if (i > lastCachedPage) {
GBool cached = cachePageTree(i);
if ( cached == gFalse) {
- return NULL;
+ return nullptr;
}
}
return &pageRefs[i-1];
@@ -230,7 +230,7 @@
GBool Catalog::cachePageTree(int page)
{
- if (pagesList == NULL) {
+ if (pagesList == nullptr) {
Ref pagesRef;
@@ -262,19 +262,19 @@
pagesSize = getNumPages();
pages = (Page **)gmallocn_checkoverflow(pagesSize, sizeof(Page *));
pageRefs = (Ref *)gmallocn_checkoverflow(pagesSize, sizeof(Ref));
- if (pages == NULL || pageRefs == NULL ) {
+ if (pages == nullptr || pageRefs == nullptr ) {
error(errSyntaxError, -1, "Cannot allocate page cache");
pagesSize = 0;
return gFalse;
}
for (int i = 0; i < pagesSize; ++i) {
- pages[i] = NULL;
+ pages[i] = nullptr;
pageRefs[i].num = -1;
pageRefs[i].gen = -1;
}
attrsList = new std::vector<PageAttrs *>();
- attrsList->push_back(new PageAttrs(NULL, obj.getDict()));
+ attrsList->push_back(new PageAttrs(nullptr, obj.getDict()));
pagesList = new std::vector<Object>();
pagesList->push_back(std::move(obj));
pagesRefList = new std::vector<Ref>();
@@ -343,6 +343,7 @@
if (lastCachedPage >= numPages) {
error(errSyntaxError, -1, "Page count in top-level pages object is incorrect");
+ delete p;
return gFalse;
}
@@ -375,7 +376,7 @@
for (i = 0; i < getNumPages(); ++i) {
Ref *ref = getPageRef(i+1);
- if (ref != NULL && ref->num == num && ref->gen == gen)
+ if (ref != nullptr && ref->num == num && ref->gen == gen)
return i + 1;
}
return 0;
@@ -409,7 +410,7 @@
}
if (dest && !dest->isOk()) {
delete dest;
- dest = NULL;
+ dest = nullptr;
}
return dest;
@@ -432,7 +433,7 @@
obj= getDests();
if (!obj->isDict()) {
- return NULL;
+ return nullptr;
}
return obj->dictGetKey(i);
}
@@ -441,7 +442,7 @@
{
Object *obj = getDests();
if (!obj->isDict()) {
- return NULL;
+ return nullptr;
}
Object obj1 = obj->dictGetVal(i);
return createLinkDest(&obj1);
@@ -461,10 +462,9 @@
FileSpec *Catalog::embeddedFile(int i)
{
- Object efDict;
catalogLocker();
Object *obj = getEmbeddedFileNameTree()->getValue(i);
- FileSpec *embeddedFile = 0;
+ FileSpec *embeddedFile = nullptr;
if (obj->isRef()) {
Object fsDict = obj->fetch(xref);
embeddedFile = new FileSpec(&fsDict);
@@ -580,7 +580,7 @@
{
size = 0;
length = 0;
- entries = NULL;
+ entries = nullptr;
}
NameTree::~NameTree()
@@ -690,7 +690,7 @@
entry = (Entry **) bsearch(name, entries,
length, sizeof(Entry *), Entry::cmp);
- if (entry != NULL) {
+ if (entry != nullptr) {
return (*entry)->value.fetch(xref);
} else {
error(errSyntaxError, -1, "failed to look up ({0:s})", name->getCString());
@@ -712,7 +712,7 @@
if (index < length) {
return &entries[index]->name;
} else {
- return NULL;
+ return nullptr;
}
}
@@ -721,7 +721,7 @@
char *end;
PageLabelInfo *pli = getPageLabelInfo();
- if (pli != NULL) {
+ if (pli != nullptr) {
if (!pli->labelToIndex(label, index))
return gFalse;
} else {
@@ -744,7 +744,7 @@
return gFalse;
PageLabelInfo *pli = getPageLabelInfo();
- if (pli != NULL) {
+ if (pli != nullptr) {
return pli->indexToLabel(index, label);
} else {
snprintf(buffer, sizeof (buffer), "%d", index + 1);
@@ -784,7 +784,7 @@
Dict *pageDict = pagesDict.getDict();
if (pageRootRef.isRef()) {
const Ref pageRef = pageRootRef.getRef();
- Page *p = new Page(doc, 1, &pagesDict, pageRef, new PageAttrs(NULL, pageDict), form);
+ Page *p = new Page(doc, 1, &pagesDict, pageRef, new PageAttrs(nullptr, pageDict), form);
if (p->isOk()) {
pages = (Page **)gmallocn(1, sizeof(Page *));
pageRefs = (Ref *)gmallocn(1, sizeof(Ref));
@@ -853,7 +853,7 @@
Object catalog = xref->getCatalog();
if (!catalog.isDict()) {
error(errSyntaxError, -1, "Catalog object is wrong type ({0:s})", catalog.getTypeName());
- return NULL;
+ return nullptr;
}
Object root = catalog.dictLookup("StructTreeRoot");
@@ -1051,7 +1051,7 @@
type == actionSaveDocumentStart ? "WS" :
type == actionSaveDocumentFinish ? "DS" :
type == actionPrintDocumentStart ? "WP" :
- type == actionPrintDocumentFinish ? "DP" : NULL);
+ type == actionPrintDocumentFinish ? "DP" : nullptr);
Object actionObject = additionalActionsObject.dictLookup(key);
if (actionObject.isDict())
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Catalog.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2007, 2009-2011, 2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007, 2009-2011, 2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
// Copyright (C) 2005, 2006, 2008 Brad Hards <bradh at frogmouth.net>
// Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
@@ -68,6 +68,10 @@
public:
NameTree();
~NameTree();
+
+ NameTree(const NameTree &) = delete;
+ NameTree& operator=(const NameTree &) = delete;
+
void init(XRef *xref, Object *tree);
Object lookup(GooString *name);
int numEntries() { return length; };
@@ -110,6 +114,9 @@
// Destructor.
~Catalog();
+ Catalog(const Catalog &) = delete;
+ Catalog& operator=(const Catalog &) = delete;
+
// Is catalog valid?
GBool isOk() { return ok; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -137,7 +137,7 @@
if (!(f = openFile(fileName->getCString(), "r"))) {
error(errIO, -1, "Couldn't open cidToUnicode file '{0:t}'",
fileName);
- return NULL;
+ return nullptr;
}
size = 32768;
@@ -161,7 +161,7 @@
fclose(f);
ctu = new CharCodeToUnicode(collection->copy(), mapA, mapLenA, gTrue,
- NULL, 0, 0);
+ nullptr, 0, 0);
gfree(mapA);
return ctu;
}
@@ -185,7 +185,7 @@
gfree(uBuf);
error(errIO, -1, "Couldn't open unicodeToUnicode file '{0:t}'",
fileName);
- return NULL;
+ return nullptr;
}
size = 4096;
@@ -192,7 +192,7 @@
mapA = (Unicode *)gmallocn(size, sizeof(Unicode));
memset(mapA, 0, size * sizeof(Unicode));
len = 0;
- sMapA = NULL;
+ sMapA = nullptr;
sMapSizeA = sMapLenA = 0;
line = 0;
@@ -205,7 +205,7 @@
continue;
}
n = 0;
- while ((tok = strtok_r(NULL, " \t\r\n", &tokptr))) {
+ while ((tok = strtok_r(nullptr, " \t\r\n", &tokptr))) {
if (n >= uBufSize)
{
uBufSize += 8;
@@ -262,7 +262,7 @@
}
CharCodeToUnicode *CharCodeToUnicode::make8BitToUnicode(Unicode *toUnicode) {
- return new CharCodeToUnicode(NULL, toUnicode, 256, gTrue, NULL, 0, 0);
+ return new CharCodeToUnicode(nullptr, toUnicode, 256, gTrue, nullptr, 0, 0);
}
CharCodeToUnicode *CharCodeToUnicode::parseCMap(GooString *buf, int nBits) {
@@ -269,7 +269,7 @@
CharCodeToUnicode *ctu;
char *p;
- ctu = new CharCodeToUnicode(NULL);
+ ctu = new CharCodeToUnicode(nullptr);
p = buf->getCString();
ctu->parseCMap1(&getCharFromString, &p, nBits);
return ctu;
@@ -280,7 +280,7 @@
CharCodeToUnicode *ctu;
FILE *f;
- ctu = new CharCodeToUnicode(NULL);
+ ctu = new CharCodeToUnicode(nullptr);
if ((f = globalParams->findToUnicodeFile(fileName))) {
ctu->parseCMap1(&getCharFromFile, f, nBits);
fclose(f);
@@ -479,10 +479,10 @@
}
CharCodeToUnicode::CharCodeToUnicode() {
- tag = NULL;
- map = NULL;
+ tag = nullptr;
+ map = nullptr;
mapLen = 0;
- sMap = NULL;
+ sMap = nullptr;
sMapLen = sMapSize = 0;
refCnt = 1;
isIdentity = gFalse;
@@ -500,7 +500,7 @@
for (i = 0; i < mapLen; ++i) {
map[i] = 0;
}
- sMap = NULL;
+ sMap = nullptr;
sMapLen = sMapSize = 0;
refCnt = 1;
isIdentity = gFalse;
@@ -681,7 +681,7 @@
size = sizeA;
cache = (CharCodeToUnicode **)gmallocn(size, sizeof(CharCodeToUnicode *));
for (i = 0; i < size; ++i) {
- cache[i] = NULL;
+ cache[i] = nullptr;
}
}
@@ -715,7 +715,7 @@
return ctu;
}
}
- return NULL;
+ return nullptr;
}
void CharCodeToUnicodeCache::add(CharCodeToUnicode *ctu) {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CharCodeToUnicode.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -17,7 +17,7 @@
//
// Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
// Copyright (C) 2007 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2008, 2011, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2008, 2011, 2012, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
//
// To see a description of the changes please see the Changelog file that
@@ -78,6 +78,9 @@
~CharCodeToUnicode();
+ CharCodeToUnicode(const CharCodeToUnicode &) = delete;
+ CharCodeToUnicode& operator=(const CharCodeToUnicode &) = delete;
+
void incRefCnt();
void decRefCnt();
@@ -130,6 +133,9 @@
CharCodeToUnicodeCache(int sizeA);
~CharCodeToUnicodeCache();
+ CharCodeToUnicodeCache(const CharCodeToUnicodeCache &) = delete;
+ CharCodeToUnicodeCache& operator=(const CharCodeToUnicodeCache &) = delete;
+
// Get the CharCodeToUnicode object for <tag>. Increments its
// reference count; there will be one reference for the cache plus
// one for the caller of this function. Returns NULL on failure.
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/CurlCachedFile.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/CurlCachedFile.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/CurlCachedFile.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -20,9 +20,9 @@
CurlCachedFileLoader::CurlCachedFileLoader()
{
- url = NULL;
- cachedFile = NULL;
- curl = NULL;
+ url = nullptr;
+ cachedFile = nullptr;
+ curl = nullptr;
}
CurlCachedFileLoader::~CurlCachedFileLoader() {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/DCTStream.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -64,7 +64,7 @@
DCTStream::DCTStream(Stream *strA, int colorXformA, Dict *dict, int recursion) :
FilterStream(strA) {
colorXform = colorXformA;
- if (dict != NULL) {
+ if (dict != nullptr) {
Object obj = dict->lookup("Width", recursion);
err.width = (obj.isInt() && obj.getInt() <= JPEG_MAX_DIMENSION) ? obj.getInt() : 0;
obj = dict->lookup("Height", recursion);
@@ -100,11 +100,11 @@
src.pub.resync_to_restart = jpeg_resync_to_restart;
src.pub.term_source = str_term_source;
src.pub.bytes_in_buffer = 0;
- src.pub.next_input_byte = NULL;
+ src.pub.next_input_byte = nullptr;
src.str = str;
src.index = 0;
- current = NULL;
- limit = NULL;
+ current = nullptr;
+ limit = nullptr;
cinfo.err = &err.pub;
if (!setjmp(err.setjmp_buffer)) {
@@ -111,7 +111,7 @@
jpeg_create_decompress(&cinfo);
cinfo.src = (jpeg_source_mgr *)&src;
}
- row_buffer = NULL;
+ row_buffer = nullptr;
}
void DCTStream::reset() {
@@ -241,7 +241,7 @@
}
int DCTStream::lookChar() {
- if (unlikely(current == NULL)) {
+ if (unlikely(current == nullptr)) {
return EOF;
}
return *current;
@@ -251,10 +251,10 @@
GooString *s;
if (psLevel < 2) {
- return NULL;
+ return nullptr;
}
if (!(s = str->getPSFilter(psLevel, indent))) {
- return NULL;
+ return nullptr;
}
s->append(indent)->append("<< >> /DCTDecode filter\n");
return s;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/DateInfo.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -32,7 +32,7 @@
/* See PDF Reference 1.3, Section 3.8.2 for PDF Date representation */
GBool parseDateString(const char *dateString, int *year, int *month, int *day, int *hour, int *minute, int *second, char *tz, int *tzHour, int *tzMinute)
{
- if ( dateString == NULL ) return gFalse;
+ if ( dateString == nullptr ) return gFalse;
if ( strlen(dateString) < 2 ) return gFalse;
if ( dateString[0] == 'D' && dateString[1] == ':' )
@@ -82,7 +82,7 @@
char s[5];
struct tm *gt;
size_t len;
- time_t timep = timet ? *timet : time(NULL);
+ time_t timep = timet ? *timet : time(nullptr);
struct tm t;
gt = gmtime_r (&timep, &t);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Decrypt.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2008 Julien Rebetez <julien at fhtagn.net>
-// Copyright (C) 2008, 2010, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2008, 2010, 2016-2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009 Matthias Franz <matthias at ktug.or.kr>
// Copyright (C) 2009 David Benjamin <davidben at mit.edu>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -143,7 +143,7 @@
if(encRevision == 6) {
// test contains the initial SHA-256 hash input K.
// user key is not used in checking user password.
- revision6Hash(userPassword, test, NULL);
+ revision6Hash(userPassword, test, nullptr);
}
if (!memcmp(test, userKey->getCString(), 32)) {
@@ -154,7 +154,7 @@
if(encRevision == 6) {
//test contains the initial SHA-256 hash input K.
//user key is not used in computing intermediate user key.
- revision6Hash(userPassword, test, NULL);
+ revision6Hash(userPassword, test, nullptr);
}
aes256KeyExpansion(&state, test, 32, gTrue);
for (i = 0; i < 16; ++i) {
@@ -1454,7 +1454,7 @@
// SHA-512 hash (see FIPS 180-4)
//------------------------------------------------------------------------
// SHA 384 and SHA 512 use the same sequence of eighty constant 64 bit words.
-static const uint64_t K[80] = {
+static const uint64_t shaK[80] = {
0x428a2f98d728ae22ull, 0x7137449123ef65cdull, 0xb5c0fbcfec4d3b2full, 0xe9b5dba58189dbbcull, 0x3956c25bf348b538ull,
0x59f111f1b605d019ull, 0x923f82a4af194f9bull, 0xab1c5ed5da6d8118ull, 0xd807aa98a3030242ull, 0x12835b0145706fbeull,
0x243185be4ee4b28cull, 0x550c7dc3d5ffb4e2ull, 0x72be5d74f27b896full, 0x80deb1fe3b1696b1ull, 0x9bdc06a725c71235ull,
@@ -1531,7 +1531,7 @@
// 3.
for (t = 0; t < 80; ++t) {
- T1 = h + sha512Sigma1(e) + sha512Ch(e,f,g) + K[t] + W[t];
+ T1 = h + sha512Sigma1(e) + sha512Ch(e,f,g) + shaK[t] + W[t];
T2 = sha512Sigma0(a) + sha512Maj(a,b,c);
h = g;
g = f;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -78,7 +78,7 @@
Dict::Dict(XRef *xrefA) {
xref = xrefA;
- entries = NULL;
+ entries = nullptr;
size = length = 0;
ref = 1;
sorted = gFalse;
@@ -185,11 +185,11 @@
return &entries[i];
}
}
- return NULL;
+ return nullptr;
}
GBool Dict::hasKey(const char *key) const {
- return find(key) != NULL;
+ return find(key) != nullptr;
}
void Dict::remove(const char *key) {
@@ -270,7 +270,7 @@
{
GBool success = gFalse;
Object obj1 = lookup ((char *) key);
- if (obj1.isNull () && alt_key != NULL) {
+ if (obj1.isNull () && alt_key != nullptr) {
obj1.free ();
obj1 = lookup ((char *) alt_key);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Dict.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -16,7 +16,7 @@
// Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
// Copyright (C) 2007-2008 Julien Rebetez <julienr at svn.gnome.org>
-// Copyright (C) 2010, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2010, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010 Paweł Wiejacha <pawel.wiejacha at gmail.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -57,6 +57,9 @@
// Destructor.
~Dict();
+ Dict(const Dict &) = delete;
+ Dict& operator=(const Dict &) = delete;
+
// Get number of entries.
int getLength() const { return length; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Error.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Error.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Error.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -50,8 +50,8 @@
};
static void (*errorCbk)(void *data, ErrorCategory category,
- Goffset pos, char *msg) = NULL;
-static void *errorCbkData = NULL;
+ Goffset pos, char *msg) = nullptr;
+static void *errorCbkData = nullptr;
void setErrorCallback(void (*cbk)(void *data, ErrorCategory category,
Goffset pos, char *msg),
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/ErrorCodes.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/ErrorCodes.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/ErrorCodes.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,6 +6,20 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef ERRORCODES_H
#define ERRORCODES_H
@@ -33,4 +47,6 @@
#define errFileIO 10 // file I/O error
+#define errFileChangedSinceOpen 11 // file has changed since opening and save can't be done
+
#endif
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -30,10 +30,10 @@
EmbFile::EmbFile(Object *efStream)
{
m_size = -1;
- m_createDate = NULL;
- m_modDate = NULL;
- m_checksum = NULL;
- m_mimetype = NULL;
+ m_createDate = nullptr;
+ m_modDate = nullptr;
+ m_checksum = nullptr;
+ m_mimetype = nullptr;
m_objStr = efStream->copy();
@@ -102,10 +102,10 @@
FileSpec::FileSpec(Object *fileSpecA)
{
ok = gTrue;
- fileName = NULL;
- platformFileName = NULL;
- embFile = NULL;
- desc = NULL;
+ fileName = nullptr;
+ platformFileName = nullptr;
+ embFile = nullptr;
+ desc = nullptr;
fileSpec = fileSpecA->copy();
Object obj1 = getFileSpecName(fileSpecA);
@@ -146,7 +146,7 @@
EmbFile *FileSpec::getEmbeddedFile()
{
if(!ok)
- return NULL;
+ return nullptr;
if (embFile)
return embFile;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/FileSpec.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,7 +6,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2008 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2017, 2018 Albert Astals Cid <aacid at kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -27,6 +27,9 @@
EmbFile(Object *efStream);
~EmbFile();
+ EmbFile(const EmbFile &) = delete;
+ EmbFile& operator=(const EmbFile &) = delete;
+
int size() { return m_size; }
GooString *modDate() { return m_modDate; }
GooString *createDate() { return m_createDate; }
@@ -53,6 +56,9 @@
FileSpec(Object *fileSpec);
~FileSpec();
+ FileSpec(const FileSpec &) = delete;
+ FileSpec& operator=(const FileSpec &) = delete;
+
GBool isOk() { return ok; }
GooString *getFileName() const { return fileName; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/FontEncodingTables.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/FontEncodingTables.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/FontEncodingTables.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -11,38 +11,38 @@
#include "FontEncodingTables.h"
const char *macRomanEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclam",
"quotedbl",
@@ -138,7 +138,7 @@
"bar",
"braceright",
"asciitilde",
- NULL,
+ nullptr,
"Adieresis",
"Aring",
"Ccedilla",
@@ -270,38 +270,38 @@
};
const char *macExpertEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclamsmall",
"Hungarumlautsmall",
@@ -330,17 +330,17 @@
"nineoldstyle",
"colon",
"semicolon",
- NULL,
+ nullptr,
"threequartersemdash",
- NULL,
+ nullptr,
"questionsmall",
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"Ethsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"onequarter",
"onehalf",
"threequarters",
@@ -350,12 +350,12 @@
"seveneighths",
"onethird",
"twothirds",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"ff",
"fi",
"fl",
@@ -362,7 +362,7 @@
"ffi",
"ffl",
"parenleftinferior",
- NULL,
+ nullptr,
"parenrightinferior",
"Circumflexsmall",
"hypheninferior",
@@ -397,14 +397,14 @@
"onefitted",
"rupiah",
"Tildesmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"asuperior",
"centsuperior",
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"Aacutesmall",
"Agravesmall",
"Acircumflexsmall",
@@ -430,7 +430,7 @@
"Ugravesmall",
"Ucircumflexsmall",
"Udieresissmall",
- NULL,
+ nullptr,
"eightsuperior",
"fourinferior",
"threeinferior",
@@ -438,25 +438,25 @@
"eightinferior",
"seveninferior",
"Scaronsmall",
- NULL,
+ nullptr,
"centinferior",
"twoinferior",
- NULL,
+ nullptr,
"Dieresissmall",
- NULL,
+ nullptr,
"Caronsmall",
"osuperior",
"fiveinferior",
- NULL,
+ nullptr,
"commainferior",
"periodinferior",
"Yacutesmall",
- NULL,
+ nullptr,
"dollarinferior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Thornsmall",
- NULL,
+ nullptr,
"nineinferior",
"zeroinferior",
"Zcaronsmall",
@@ -465,29 +465,29 @@
"questiondownsmall",
"oneinferior",
"Lslashsmall",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"Cedillasmall",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"OEsmall",
"figuredash",
"hyphensuperior",
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"exclamdownsmall",
- NULL,
+ nullptr,
"Ydieresissmall",
- NULL,
+ nullptr,
"onesuperior",
"twosuperior",
"threesuperior",
@@ -497,20 +497,20 @@
"sevensuperior",
"ninesuperior",
"zerosuperior",
- NULL,
+ nullptr,
"esuperior",
"rsuperior",
"tsuperior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"isuperior",
"ssuperior",
"dsuperior",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"lsuperior",
"Ogoneksmall",
"Brevesmall",
@@ -522,45 +522,45 @@
"periodsuperior",
"Dotaccentsmall",
"Ringsmall",
- NULL,
- NULL,
- NULL,
- NULL
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr
};
const char *winAnsiEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclam",
"quotedbl",
@@ -788,38 +788,38 @@
};
const char *standardEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclam",
"quotedbl",
@@ -915,40 +915,40 @@
"bar",
"braceright",
"asciitilde",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"exclamdown",
"cent",
"sterling",
@@ -964,12 +964,12 @@
"guilsinglright",
"fi",
"fl",
- NULL,
+ nullptr,
"endash",
"dagger",
"daggerdbl",
"periodcentered",
- NULL,
+ nullptr,
"paragraph",
"bullet",
"quotesinglbase",
@@ -978,9 +978,9 @@
"guillemotright",
"ellipsis",
"perthousand",
- NULL,
+ nullptr,
"questiondown",
- NULL,
+ nullptr,
"grave",
"acute",
"circumflex",
@@ -989,100 +989,100 @@
"breve",
"dotaccent",
"dieresis",
- NULL,
+ nullptr,
"ring",
"cedilla",
- NULL,
+ nullptr,
"hungarumlaut",
"ogonek",
"caron",
"emdash",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"AE",
- NULL,
+ nullptr,
"ordfeminine",
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"Lslash",
"Oslash",
"OE",
"ordmasculine",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"ae",
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
"dotlessi",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"lslash",
"oslash",
"oe",
"germandbls",
- NULL,
- NULL,
- NULL,
- NULL
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr
};
const char *expertEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclamsmall",
"Hungarumlautsmall",
- NULL,
+ nullptr,
"dollaroldstyle",
"dollarsuperior",
"ampersandsmall",
@@ -1111,28 +1111,28 @@
"threequartersemdash",
"periodsuperior",
"questionsmall",
- NULL,
+ nullptr,
"asuperior",
"bsuperior",
"centsuperior",
"dsuperior",
"esuperior",
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
"isuperior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"lsuperior",
"msuperior",
"nsuperior",
"osuperior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"rsuperior",
"ssuperior",
"tsuperior",
- NULL,
+ nullptr,
"ff",
"fi",
"fl",
@@ -1139,7 +1139,7 @@
"ffi",
"ffl",
"parenleftinferior",
- NULL,
+ nullptr,
"parenrightinferior",
"Circumflexsmall",
"hyphensuperior",
@@ -1174,67 +1174,67 @@
"onefitted",
"rupiah",
"Tildesmall",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"exclamdownsmall",
"centoldstyle",
"Lslashsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Scaronsmall",
"Zcaronsmall",
"Dieresissmall",
"Brevesmall",
"Caronsmall",
- NULL,
+ nullptr,
"Dotaccentsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Macronsmall",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"figuredash",
"hypheninferior",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"Ogoneksmall",
"Ringsmall",
"Cedillasmall",
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
"onequarter",
"onehalf",
"threequarters",
@@ -1245,8 +1245,8 @@
"seveneighths",
"onethird",
"twothirds",
- NULL,
- NULL,
+ nullptr,
+ nullptr,
"zerosuperior",
"onesuperior",
"twosuperior",
@@ -1306,38 +1306,38 @@
};
const char *symbolEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"exclam",
"universal",
@@ -1433,40 +1433,40 @@
"bar",
"braceright",
"similar",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"Upsilon1",
"minute",
"lessequal",
@@ -1546,7 +1546,7 @@
"braceleftmid",
"braceleftbt",
"braceex",
- NULL,
+ nullptr,
"angleright",
"integral",
"integraltp",
@@ -1561,42 +1561,42 @@
"bracerighttp",
"bracerightmid",
"bracerightbt",
- NULL
+ nullptr
};
const char *zapfDingbatsEncoding[256] = {
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"space",
"a1",
"a2",
@@ -1692,40 +1692,40 @@
"a98",
"a99",
"a100",
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
- NULL,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
+ nullptr,
"a101",
"a102",
"a103",
@@ -1805,7 +1805,7 @@
"a181",
"a200",
"a182",
- NULL,
+ nullptr,
"a201",
"a183",
"a184",
@@ -1820,5 +1820,5 @@
"a189",
"a190",
"a191",
- NULL
+ nullptr
};
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -3,7 +3,7 @@
// FontInfo.cc
//
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005-2008, 2010, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005-2008, 2010, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
// Copyright (C) 2006 Kouhei Sutou <kou at cozmixng.org>
// Copyright (C) 2009 Pino Toscano <pino at kde.org>
@@ -57,7 +57,7 @@
int lastPage;
if (currentPage > doc->getNumPages()) {
- return NULL;
+ return nullptr;
}
result = new GooList();
@@ -92,21 +92,20 @@
}
void FontInfoScanner::scanFonts(XRef *xrefA, Dict *resDict, GooList *fontsList) {
- Ref r;
GfxFontDict *gfxFontDict;
GfxFont *font;
// scan the fonts in this resource dictionary
- gfxFontDict = NULL;
+ gfxFontDict = nullptr;
Object obj1 = resDict->lookupNF("Font");
if (obj1.isRef()) {
Object obj2 = obj1.fetch(xrefA);
if (obj2.isDict()) {
- r = obj1.getRef();
+ Ref r = obj1.getRef();
gfxFontDict = new GfxFontDict(xrefA, &r, obj2.getDict());
}
} else if (obj1.isDict()) {
- gfxFontDict = new GfxFontDict(xrefA, NULL, obj1.getDict());
+ gfxFontDict = new GfxFontDict(xrefA, nullptr, obj1.getDict());
}
if (gfxFontDict) {
for (int i = 0; i < gfxFontDict->getNumFonts(); ++i) {
@@ -160,10 +159,10 @@
// font name
origName = font->getName();
- if (origName != NULL) {
+ if (origName != nullptr) {
name = font->getName()->copy();
} else {
- name = NULL;
+ name = nullptr;
}
// font type
@@ -176,8 +175,8 @@
emb = font->getEmbeddedFontID(&embRef);
}
- file = NULL;
- substituteName = NULL;
+ file = nullptr;
+ substituteName = nullptr;
if (!emb)
{
SysFontType dummy;
@@ -211,10 +210,10 @@
}
FontInfo::FontInfo(FontInfo& f) {
- name = f.name ? f.name->copy() : NULL;
- file = f.file ? f.file->copy() : NULL;
- encoding = f.encoding ? f.encoding->copy() : NULL;
- substituteName = f.substituteName ? f.substituteName->copy() : NULL;
+ name = f.name ? f.name->copy() : nullptr;
+ file = f.file ? f.file->copy() : nullptr;
+ encoding = f.encoding ? f.encoding->copy() : nullptr;
+ substituteName = f.substituteName ? f.substituteName->copy() : nullptr;
type = f.type;
emb = f.emb;
subset = f.subset;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/FontInfo.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -3,7 +3,7 @@
// FontInfo.h
//
// Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005-2008, 2010, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005-2008, 2010, 2011, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
// Copyright (C) 2009 Pino Toscano <pino at kde.org>
// Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
@@ -56,6 +56,8 @@
// Destructor.
~FontInfo();
+ FontInfo& operator=(const FontInfo &) = delete;
+
GooString *getName() { return name; };
GooString *getSubstituteName() { return substituteName; };
GooString *getFile() { return file; };
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Form.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -94,7 +94,7 @@
obj = aobj->copy();
type = formUndef;
field = fieldA;
- widget = NULL;
+ widget = nullptr;
}
FormWidget::~FormWidget()
@@ -168,11 +168,11 @@
}
LinkAction *FormWidget::getActivationAction() {
- return widget ? widget->getAction() : NULL;
+ return widget ? widget->getAction() : nullptr;
}
LinkAction *FormWidget::getAdditionalAction(Annot::FormAdditionalActionsType type) {
- return widget ? widget->getFormAdditionalAction(type) : NULL;
+ return widget ? widget->getFormAdditionalAction(type) : nullptr;
}
FormWidgetButton::FormWidgetButton (PDFDoc *docA, Object *aobj, unsigned num, Ref ref, FormField *p) :
@@ -179,7 +179,7 @@
FormWidget(docA, aobj, num, ref, p)
{
type = formButton;
- onStr = NULL;
+ onStr = nullptr;
// Find the name of the ON state in the AP dictionnary
// The reference say the Off state, if it existe, _must_ be stored in the AP dict under the name /Off
@@ -205,7 +205,7 @@
// 12.7.4.2.3 Check Boxes
// Yes should be used as the name for the on state
- return parent()->getButtonType() == formButtonCheck ? (char *)"Yes" : NULL;
+ return parent()->getButtonType() == formButtonCheck ? (char *)"Yes" : nullptr;
}
FormWidgetButton::~FormWidgetButton ()
@@ -376,7 +376,7 @@
{
if (!hasEdit()) {
error(errInternal, -1, "FormFieldChoice::getEditChoice called on a non-editable choice\n");
- return NULL;
+ return nullptr;
}
return parent()->getEditChoice();
}
@@ -618,12 +618,12 @@
type = ty;
parent = parentA;
numChildren = 0;
- children = NULL;
+ children = nullptr;
terminal = false;
- widgets = NULL;
+ widgets = nullptr;
readOnly = false;
- defaultAppearance = NULL;
- fullyQualifiedName = NULL;
+ defaultAppearance = nullptr;
+ fullyQualifiedName = nullptr;
quadding = quaddingLeftJustified;
hasQuadding = gFalse;
@@ -715,7 +715,7 @@
if (obj1.isString()) {
partialName = obj1.getString()->copy();
} else {
- partialName = NULL;
+ partialName = nullptr;
}
obj1 = dict->lookup("TU");
@@ -722,7 +722,7 @@
if (obj1.isString()) {
alternateUiName = obj1.getString()->copy();
} else {
- alternateUiName = NULL;
+ alternateUiName = nullptr;
}
obj1 = dict->lookup("TM");
@@ -729,7 +729,7 @@
if(obj1.isString()) {
mappingName = obj1.getString()->copy();
} else {
- mappingName = NULL;
+ mappingName = nullptr;
}
}
@@ -841,7 +841,7 @@
if(result) return result;
}
}
- return NULL;
+ return nullptr;
}
GooString* FormField::getFullyQualifiedName() {
@@ -948,7 +948,7 @@
Dict* dict = obj.getDict();
active_child = -1;
noAllOff = false;
- siblings = NULL;
+ siblings = nullptr;
numSiblings = 0;
appearanceState.setToNull();
@@ -1011,7 +1011,7 @@
if (!terminal) {
for(int i=0; i<numChildren; i++) {
FormFieldButton *child = dynamic_cast<FormFieldButton*>(children[i]);
- if (child != NULL) {
+ if (child != nullptr) {
// Fill the siblings of this node childs
child->setNumSiblings(numChildren-1);
for(int j=0, counter=0; j<numChildren; j++) {
@@ -1116,7 +1116,7 @@
{
Dict* dict = obj.getDict();
Object obj1;
- content = NULL;
+ content = nullptr;
multiline = password = fileSelect = doNotSpellCheck = doNotScroll = comb = richText = false;
maxLen = 0;
@@ -1169,7 +1169,7 @@
GooString* FormFieldText::getContentCopy ()
{
- if (!content) return NULL;
+ if (!content) return nullptr;
return new GooString(content);
}
@@ -1176,7 +1176,7 @@
void FormFieldText::setContentCopy (GooString* new_content)
{
delete content;
- content = NULL;
+ content = nullptr;
if (new_content) {
content = new_content->copy();
@@ -1286,8 +1286,8 @@
: FormField(docA, aobj, ref, parent, usedParents, formChoice)
{
numChoices = 0;
- choices = NULL;
- editedChoice = NULL;
+ choices = nullptr;
+ editedChoice = nullptr;
topIdx = 0;
Dict* dict = obj.getDict();
@@ -1433,7 +1433,7 @@
#endif
void FormFieldChoice::updateSelection() {
- Object objV, obj1;
+ Object objV;
Object objI(objNull);
if (edit && editedChoice) {
@@ -1501,7 +1501,7 @@
void FormFieldChoice::deselectAll () {
delete editedChoice;
- editedChoice = NULL;
+ editedChoice = nullptr;
unselectAll();
updateSelection();
@@ -1510,7 +1510,7 @@
void FormFieldChoice::toggle (int i)
{
delete editedChoice;
- editedChoice = NULL;
+ editedChoice = nullptr;
choices[i].selected = !choices[i].selected;
updateSelection();
@@ -1519,7 +1519,7 @@
void FormFieldChoice::select (int i)
{
delete editedChoice;
- editedChoice = NULL;
+ editedChoice = nullptr;
if (!multiselect)
unselectAll();
@@ -1531,7 +1531,7 @@
void FormFieldChoice::setEditChoice (GooString* new_content)
{
delete editedChoice;
- editedChoice = NULL;
+ editedChoice = nullptr;
unselectAll();
@@ -1570,7 +1570,7 @@
return choices[i].optionName;
}
- return NULL;
+ return nullptr;
}
//------------------------------------------------------------------------
@@ -1581,7 +1581,7 @@
signature_type(adbe_pkcs7_detached),
signature(nullptr), signature_info(nullptr)
{
- signature = NULL;
+ signature = nullptr;
signature_info = new SignatureInfo();
parseInfo();
@@ -1677,7 +1677,7 @@
return signature_info;
}
- if (signature == NULL) {
+ if (signature == nullptr) {
error(errSyntaxError, 0, "Invalid or missing Signature string");
return signature_info;
}
@@ -1766,10 +1766,10 @@
size = 0;
numFields = 0;
- rootFields = NULL;
+ rootFields = nullptr;
quadding = quaddingLeftJustified;
- defaultAppearance = NULL;
- defaultResources = NULL;
+ defaultAppearance = nullptr;
+ defaultResources = nullptr;
obj1 = acroForm->dictLookup("NeedAppearances");
needAppearances = (obj1.isBool() && obj1.getBool());
@@ -1787,7 +1787,7 @@
// At a minimum, this dictionary shall contain a Font entry
obj1 = resDict.dictLookup("Font");
if (obj1.isDict())
- defaultResources = new GfxResources(xref, resDict.getDict(), NULL);
+ defaultResources = new GfxResources(xref, resDict.getDict(), nullptr);
}
if (!defaultResources) {
resDict.setToNull();
@@ -1815,7 +1815,7 @@
}
std::set<int> usedParents;
- rootFields[numFields++] = createFieldFromDict (&obj2, doc, oref.getRef(), NULL, &usedParents);
+ rootFields[numFields++] = createFieldFromDict (&obj2, doc, oref.getRef(), nullptr, &usedParents);
}
} else {
@@ -1918,7 +1918,7 @@
FormWidget *result = rootFields[i]->findWidgetByRef(aref);
if(result) return result;
}
- return NULL;
+ return nullptr;
}
//------------------------------------------------------------------------
@@ -1928,7 +1928,7 @@
FormPageWidgets::FormPageWidgets (Annots *annots, unsigned int page, Form *form)
{
numWidgets = 0;
- widgets = NULL;
+ widgets = nullptr;
if (annots && annots->getNumAnnots() > 0 && form) {
size = annots->getNumAnnots();
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Form.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,7 +6,7 @@
//
// Copyright 2006 Julien Rebetez <julienr at svn.gnome.org>
// Copyright 2007, 2008, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright 2007-2010, 2012, 2015-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright 2007-2010, 2012, 2015-2018 Albert Astals Cid <aacid at kde.org>
// Copyright 2010 Mark Riedesel <mark at klowner.com>
// Copyright 2011 Pino Toscano <pino at kde.org>
// Copyright 2012 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -29,6 +29,8 @@
#include "Object.h"
#include "Annot.h"
+#include <time.h>
+
#include <set>
#include <vector>
#include <ctime>
@@ -564,6 +566,9 @@
~Form();
+ Form(const Form &) = delete;
+ Form& operator=(const Form &) = delete;
+
// Look up an inheritable field dictionary entry.
static Object fieldLookup(Dict *field, const char *key);
@@ -612,6 +617,9 @@
FormPageWidgets (Annots* annots, unsigned int page, Form *form);
~FormPageWidgets();
+ FormPageWidgets(const FormPageWidgets &) = delete;
+ FormPageWidgets& operator=(const FormPageWidgets &) = delete;
+
int getNumWidgets() const { return numWidgets; }
FormWidget* getWidget(int i) const { return widgets[i]; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Function.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Function.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Function.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -76,7 +76,7 @@
return new IdentityFunction();
} else {
error(errSyntaxError, -1, "Expected function dictionary or stream");
- return NULL;
+ return nullptr;
}
Object obj1 = dict->lookup("FunctionType");
@@ -96,11 +96,11 @@
func = new PostScriptFunction(funcObj, dict);
} else {
error(errSyntaxError, -1, "Unimplemented function type ({0:d})", funcType);
- return NULL;
+ return nullptr;
}
if (!func->isOk()) {
delete func;
- return NULL;
+ return nullptr;
}
return func;
@@ -222,9 +222,9 @@
double in[funcMaxInputs];
int i, j, t, bit, idx;
- idxOffset = NULL;
- samples = NULL;
- sBuf = NULL;
+ idxOffset = nullptr;
+ samples = nullptr;
+ sBuf = nullptr;
ok = gFalse;
//----- initialize the generic stuff
@@ -651,10 +651,10 @@
int i;
ok = gFalse;
- funcs = NULL;
- bounds = NULL;
- encode = NULL;
- scale = NULL;
+ funcs = nullptr;
+ bounds = nullptr;
+ encode = nullptr;
+ scale = nullptr;
//----- initialize the generic stuff
if (!init(dict)) {
@@ -677,7 +677,7 @@
encode = (double *)gmallocn(2 * k, sizeof(double));
scale = (double *)gmallocn(k, sizeof(double));
for (i = 0; i < k; ++i) {
- funcs[i] = NULL;
+ funcs[i] = nullptr;
}
for (i = 0; i < k; ++i) {
std::set<int> usedParentsAux = *usedParents;
@@ -1131,8 +1131,8 @@
double in[funcMaxInputs];
int i;
- code = NULL;
- codeString = NULL;
+ code = nullptr;
+ codeString = nullptr;
codeSize = 0;
ok = gFalse;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Function.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2009, 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2010, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42 at gmail.com>
// Copyright (C) 2012 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -56,6 +56,9 @@
virtual ~Function();
+ Function(const Function &) = delete;
+ Function& operator=(const Function &other) = delete;
+
// Construct a function. Returns NULL if unsuccessful.
static Function *parse(Object *funcObj);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
-// Copyright (C) 2005-2013, 2015-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005-2013, 2015-2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006 Thorkild Stray <thorkild at ifi.uio.no>
// Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2006-2011 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -38,6 +38,7 @@
// Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso at hotmail.it>
// Copyright (C) 2012 Lu Wang <coolwanglu at gmail.com>
// Copyright (C) 2014 Jason Crain <jason at aquaticape.us>
+// Copyright (C) 2017 Klarälvdalens Datakonsult AB, a KDAB Group company, <info at kdab.com>. Work sponsored by the LiMux project of the city of Munich
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -326,7 +327,7 @@
// build font dictionary
Dict *resDict = resDictA->copy(xref);
- fonts = NULL;
+ fonts = nullptr;
obj1 = resDict->lookupNF("Font");
if (obj1.isRef()) {
obj2 = obj1.fetch(xref);
@@ -335,7 +336,7 @@
fonts = new GfxFontDict(xref, &r, obj2.getDict());
}
} else if (obj1.isDict()) {
- fonts = new GfxFontDict(xref, NULL, obj1.getDict());
+ fonts = new GfxFontDict(xref, nullptr, obj1.getDict());
}
// get XObject dictionary
@@ -358,7 +359,7 @@
delete resDict;
} else {
- fonts = NULL;
+ fonts = nullptr;
xObjDict.setToNull();
colorSpaceDict.setToNull();
patternDict.setToNull();
@@ -385,7 +386,7 @@
}
}
error(errSyntaxError, -1, "Unknown font tag '{0:s}'", name);
- return NULL;
+ return nullptr;
}
Object GfxResources::lookupXObject(char *name) {
@@ -464,7 +465,7 @@
}
}
error(errSyntaxError, -1, "Unknown pattern '{0:s}'", name);
- return NULL;
+ return nullptr;
}
GfxShading *GfxResources::lookupShading(char *name, OutputDev *out, GfxState *state) {
@@ -481,7 +482,7 @@
}
}
error(errSyntaxError, -1, "ExtGState '{0:s}' is unknown", name);
- return NULL;
+ return nullptr;
}
Object GfxResources::lookupGState(char *name) {
@@ -529,16 +530,16 @@
int i;
doc = docA;
- xref = (xrefA == NULL) ? doc->getXRef() : xrefA;
+ xref = (xrefA == nullptr) ? doc->getXRef() : xrefA;
catalog = doc->getCatalog();
subPage = gFalse;
printCommands = globalParams->getPrintCommands();
profileCommands = globalParams->getProfileCommands();
- mcStack = NULL;
- parser = NULL;
+ mcStack = nullptr;
+ parser = nullptr;
// start the resource stack
- res = new GfxResources(xref, resDict, NULL);
+ res = new GfxResources(xref, resDict, nullptr);
// initialize
out = outA;
@@ -556,7 +557,7 @@
}
formDepth = 0;
ocState = gTrue;
- parser = NULL;
+ parser = nullptr;
abortCheckCbk = abortCheckCbkA;
abortCheckCbkData = abortCheckCbkDataA;
@@ -584,16 +585,16 @@
int i;
doc = docA;
- xref = (xrefA == NULL) ? doc->getXRef() : xrefA;
+ xref = (xrefA == nullptr) ? doc->getXRef() : xrefA;
catalog = doc->getCatalog();
subPage = gTrue;
printCommands = globalParams->getPrintCommands();
profileCommands = globalParams->getProfileCommands();
- mcStack = NULL;
- parser = NULL;
+ mcStack = nullptr;
+ parser = nullptr;
// start the resource stack
- res = new GfxResources(xref, resDict, NULL);
+ res = new GfxResources(xref, resDict, nullptr);
// initialize
out = outA;
@@ -608,7 +609,7 @@
}
formDepth = 0;
ocState = gTrue;
- parser = NULL;
+ parser = nullptr;
abortCheckCbk = abortCheckCbkA;
abortCheckCbkData = abortCheckCbkDataA;
@@ -645,7 +646,7 @@
int length = 0;
Guchar *profBuf = iccStream->toUnsignedChars(&length, 65536, 65536);
cmsHPROFILE hp = cmsOpenProfileFromMem(profBuf,length);
- if (hp == 0) {
+ if (hp == nullptr) {
error(errSyntaxWarning, -1, "read ICCBased color space profile error");
} else {
state->setDisplayProfile(hp);
@@ -698,7 +699,7 @@
parser = new Parser(xref, new Lexer(xref, obj), gFalse);
go(topLevel);
delete parser;
- parser = NULL;
+ parser = nullptr;
}
void Gfx::go(GBool topLevel) {
@@ -747,7 +748,7 @@
cmd_g = new GooString (obj.getCmd());
data_p = (ProfileData *)hash->lookup (cmd_g);
- if (data_p == NULL) {
+ if (data_p == nullptr) {
data_p = new ProfileData();
hash->add (cmd_g, data_p);
}
@@ -764,6 +765,7 @@
if (++updateLevel >= 20000) {
out->dump();
updateLevel = 0;
+ lastAbortCheck = 0;
}
// did the command throw an exception
@@ -891,7 +893,7 @@
a = b = m;
}
if (cmp != 0)
- return NULL;
+ return nullptr;
return &opTab[a];
}
@@ -945,7 +947,7 @@
a = args[0].getArray();
length = a->getLength();
if (length == 0) {
- dash = NULL;
+ dash = nullptr;
} else {
dash = (double *)gmallocn(length, sizeof(double));
for (i = 0; i < length; ++i) {
@@ -1113,7 +1115,7 @@
}
if (obj2.isName("Default") ||
obj2.isName("Identity")) {
- funcs[0] = funcs[1] = funcs[2] = funcs[3] = NULL;
+ funcs[0] = funcs[1] = funcs[2] = funcs[3] = nullptr;
state->setTransfer(funcs);
out->updateTransfer(state);
} else if (obj2.isArray() && obj2.arrayGetLength() == 4) {
@@ -1130,7 +1132,7 @@
}
} else if (obj2.isName() || obj2.isDict() || obj2.isStream()) {
if ((funcs[0] = Function::parse(&obj2))) {
- funcs[1] = funcs[2] = funcs[3] = NULL;
+ funcs[1] = funcs[2] = funcs[3] = nullptr;
state->setTransfer(funcs);
out->updateTransfer(state);
}
@@ -1164,21 +1166,21 @@
} else { // "Luminosity"
alpha = gFalse;
}
- funcs[0] = NULL;
+ funcs[0] = nullptr;
obj3 = obj2.dictLookup("TR");
if (!obj3.isNull()) {
if (obj3.isName("Default") ||
obj3.isName("Identity")) {
- funcs[0] = NULL;
+ funcs[0] = nullptr;
} else {
funcs[0] = Function::parse(&obj3);
- if (funcs[0] == NULL ||
+ if (funcs[0] == nullptr ||
funcs[0]->getInputSize() != 1 ||
funcs[0]->getOutputSize() != 1) {
error(errSyntaxError, getPos(),
"Invalid transfer function in soft mask in ExtGState");
delete funcs[0];
- funcs[0] = NULL;
+ funcs[0] = nullptr;
}
}
}
@@ -1198,7 +1200,7 @@
if (obj3.isStream()) {
Object obj4 = obj3.streamGetDict()->lookup("Group");
if (obj4.isDict()) {
- blendingColorSpace = NULL;
+ blendingColorSpace = nullptr;
isolated = knockout = gFalse;
Object obj5 = obj4.dictLookup("CS");
if (!obj5.isNull()) {
@@ -1350,7 +1352,7 @@
// get resources
obj1 = dict->lookup("Resources");
- resDict = obj1.isDict() ? obj1.getDict() : (Dict *)NULL;
+ resDict = obj1.isDict() ? obj1.getDict() : (Dict *)nullptr;
// draw it
++formDepth;
@@ -1374,14 +1376,14 @@
void Gfx::opSetFillGray(Object args[], int numArgs) {
GfxColor color;
- GfxColorSpace *colorSpace = NULL;
+ GfxColorSpace *colorSpace = nullptr;
- state->setFillPattern(NULL);
+ state->setFillPattern(nullptr);
Object obj = res->lookupColorSpace("DefaultGray");
if (!obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
- if (colorSpace == NULL) {
+ if (colorSpace == nullptr) {
colorSpace = new GfxDeviceGrayColorSpace();
}
state->setFillColorSpace(colorSpace);
@@ -1393,14 +1395,14 @@
void Gfx::opSetStrokeGray(Object args[], int numArgs) {
GfxColor color;
- GfxColorSpace *colorSpace = NULL;
+ GfxColorSpace *colorSpace = nullptr;
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
Object obj = res->lookupColorSpace("DefaultGray");
if (!obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
- if (colorSpace == NULL) {
+ if (colorSpace == nullptr) {
colorSpace = new GfxDeviceGrayColorSpace();
}
state->setStrokeColorSpace(colorSpace);
@@ -1412,7 +1414,7 @@
void Gfx::opSetFillCMYKColor(Object args[], int numArgs) {
GfxColor color;
- GfxColorSpace *colorSpace = NULL;
+ GfxColorSpace *colorSpace = nullptr;
int i;
Object obj = res->lookupColorSpace("DefaultCMYK");
@@ -1419,10 +1421,10 @@
if (!obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
- if (colorSpace == NULL) {
+ if (colorSpace == nullptr) {
colorSpace = new GfxDeviceCMYKColorSpace();
}
- state->setFillPattern(NULL);
+ state->setFillPattern(nullptr);
state->setFillColorSpace(colorSpace);
out->updateFillColorSpace(state);
for (i = 0; i < 4; ++i) {
@@ -1434,15 +1436,15 @@
void Gfx::opSetStrokeCMYKColor(Object args[], int numArgs) {
GfxColor color;
- GfxColorSpace *colorSpace = NULL;
+ GfxColorSpace *colorSpace = nullptr;
int i;
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
Object obj = res->lookupColorSpace("DefaultCMYK");
if (!obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
- if (colorSpace == NULL) {
+ if (colorSpace == nullptr) {
colorSpace = new GfxDeviceCMYKColorSpace();
}
state->setStrokeColorSpace(colorSpace);
@@ -1455,16 +1457,16 @@
}
void Gfx::opSetFillRGBColor(Object args[], int numArgs) {
- GfxColorSpace *colorSpace = NULL;
+ GfxColorSpace *colorSpace = nullptr;
GfxColor color;
int i;
- state->setFillPattern(NULL);
+ state->setFillPattern(nullptr);
Object obj = res->lookupColorSpace("DefaultRGB");
if (!obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
- if (colorSpace == NULL) {
+ if (colorSpace == nullptr) {
colorSpace = new GfxDeviceRGBColorSpace();
}
state->setFillColorSpace(colorSpace);
@@ -1477,16 +1479,16 @@
}
void Gfx::opSetStrokeRGBColor(Object args[], int numArgs) {
- GfxColorSpace *colorSpace = NULL;
+ GfxColorSpace *colorSpace = nullptr;
GfxColor color;
int i;
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
Object obj = res->lookupColorSpace("DefaultRGB");
if (!obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
- if (colorSpace == NULL) {
+ if (colorSpace == nullptr) {
colorSpace = new GfxDeviceRGBColorSpace();
}
state->setStrokeColorSpace(colorSpace);
@@ -1509,7 +1511,7 @@
colorSpace = GfxColorSpace::parse(res, &obj, out, state);
}
if (colorSpace) {
- state->setFillPattern(NULL);
+ state->setFillPattern(nullptr);
state->setFillColorSpace(colorSpace);
out->updateFillColorSpace(state);
colorSpace->getDefaultColor(&color);
@@ -1524,7 +1526,7 @@
GfxColorSpace *colorSpace;
GfxColor color;
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
Object obj = res->lookupColorSpace(args[0].getName());
if (obj.isNull()) {
colorSpace = GfxColorSpace::parse(res, &args[0], out, state);
@@ -1550,7 +1552,7 @@
error(errSyntaxError, getPos(), "Incorrect number of arguments in 'sc' command");
return;
}
- state->setFillPattern(NULL);
+ state->setFillPattern(nullptr);
for (i = 0; i < numArgs; ++i) {
color.c[i] = dblToCol(args[i].getNum());
}
@@ -1566,7 +1568,7 @@
error(errSyntaxError, getPos(), "Incorrect number of arguments in 'SC' command");
return;
}
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
for (i = 0; i < numArgs; ++i) {
color.c[i] = dblToCol(args[i].getNum());
}
@@ -1609,7 +1611,7 @@
error(errSyntaxError, getPos(), "Incorrect number of arguments in 'scn' command");
return;
}
- state->setFillPattern(NULL);
+ state->setFillPattern(nullptr);
for (i = 0; i < numArgs && i < gfxColorMaxComps; ++i) {
if (args[i].isNum()) {
color.c[i] = dblToCol(args[i].getNum());
@@ -1660,7 +1662,7 @@
error(errSyntaxError, getPos(), "Incorrect number of arguments in 'SCN' command");
return;
}
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
for (i = 0; i < numArgs && i < gfxColorMaxComps; ++i) {
if (args[i].isNum()) {
color.c[i] = dblToCol(args[i].getNum());
@@ -2097,8 +2099,8 @@
// set underlying color space (for uncolored tiling patterns); set
// various other parameters (stroke color, line width) to match
// Adobe's behavior
- state->setFillPattern(NULL);
- state->setStrokePattern(NULL);
+ state->setFillPattern(nullptr);
+ state->setStrokePattern(nullptr);
if (tPat->getPaintType() == 2 && (cs = patCS->getUnder())) {
state->setFillColorSpace(cs->copy());
out->updateFillColorSpace(state);
@@ -3663,7 +3665,7 @@
if (!(font = res->lookupFont(args[0].getName()))) {
// unsetting the font (drawing no text) is better than using the
// previous one and drawing random glyphs from it
- state->setFont(NULL, args[1].getNum());
+ state->setFont(nullptr, args[1].getNum());
fontChanged = gTrue;
return;
}
@@ -3873,7 +3875,7 @@
int wMode;
double riseX, riseY;
CharCode code;
- Unicode *u = NULL;
+ Unicode *u = nullptr;
double x, y, dx, dy, dx2, dy2, curX, curY, tdx, tdy, ddx, ddy;
double originX, originY, tOriginX, tOriginY;
double x0, y0, x1, y1;
@@ -4184,7 +4186,7 @@
} else if (obj2.isName("PS")) {
Object obj3 = obj1.streamGetDict()->lookup("Level1");
out->psXObject(obj1.getStream(),
- obj3.isStream() ? obj3.getStream() : (Stream *)NULL);
+ obj3.isStream() ? obj3.getStream() : (Stream *)nullptr);
} else if (obj2.isName()) {
error(errSyntaxError, getPos(), "Unknown XObject subtype '{0:s}'", obj2.getName());
} else {
@@ -4349,11 +4351,11 @@
}
}
if (!obj1.isNull()) {
- char *tempIntent = NULL;
+ char *tempIntent = nullptr;
Object objIntent = dict->lookup("Intent");
if (objIntent.isName()) {
tempIntent = state->getRenderingIntent();
- if (tempIntent != NULL) {
+ if (tempIntent != nullptr) {
tempIntent = strdup(tempIntent);
}
state->setRenderingIntent(objIntent.getName());
@@ -4385,7 +4387,7 @@
colorSpace = GfxColorSpace::parse(res, &objCS, out, state);
}
} else {
- colorSpace = NULL;
+ colorSpace = nullptr;
}
if (!colorSpace) {
goto err1;
@@ -4401,7 +4403,7 @@
// get the mask
haveColorKeyMask = haveExplicitMask = haveSoftMask = gFalse;
- maskStr = NULL; // make gcc happy
+ maskStr = nullptr; // make gcc happy
maskWidth = maskHeight = 0; // make gcc happy
maskInvert = gFalse; // make gcc happy
std::unique_ptr<GfxImageColorMap> maskColorMap;
@@ -4456,7 +4458,7 @@
obj1 = std::move(obj2);
}
}
- maskColorSpace = GfxColorSpace::parse(NULL, &obj1, out, state);
+ maskColorSpace = GfxColorSpace::parse(nullptr, &obj1, out, state);
if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
goto err1;
}
@@ -4587,7 +4589,7 @@
maskStr, maskWidth, maskHeight, maskInvert, maskInterpolate);
} else {
out->drawImage(state, ref, str, width, height, &colorMap, interpolate,
- haveColorKeyMask ? maskColors : (int *)NULL, inlineImg);
+ haveColorKeyMask ? maskColors : (int *)nullptr, inlineImg);
}
}
}
@@ -4609,7 +4611,7 @@
GBool transpGroup = gFalse;
double opac;
- if (resDict == NULL)
+ if (resDict == nullptr)
return gFalse;
pushResources(resDict);
Object extGStates = resDict->lookup("ExtGState");
@@ -4730,11 +4732,11 @@
// get resources
Object resObj = dict->lookup("Resources");
- resDict = resObj.isDict() ? resObj.getDict() : (Dict *)NULL;
+ resDict = resObj.isDict() ? resObj.getDict() : (Dict *)nullptr;
// check for a transparency group
transpGroup = isolated = knockout = gFalse;
- blendingColorSpace = NULL;
+ blendingColorSpace = nullptr;
obj1 = dict->lookup("Group");
if (obj1.isDict()) {
Object obj2 = obj1.dictLookup("S");
@@ -4890,7 +4892,7 @@
// display the image
if (str) {
- doImage(NULL, str, gTrue);
+ doImage(nullptr, str, gTrue);
// skip 'EI' tag
c1 = str->getUndecodedStream()->getChar();
@@ -4926,7 +4928,7 @@
}
if (obj.isEOF()) {
error(errSyntaxError, getPos(), "End of file in inline image");
- return NULL;
+ return nullptr;
}
// make stream
@@ -4934,7 +4936,7 @@
str = new EmbedStream(parser->getStream(), std::move(dict), gFalse, 0, gTrue);
str = str->addFilters(str->getDict());
} else {
- str = NULL;
+ str = nullptr;
}
return str;
@@ -5023,19 +5025,20 @@
char* name0 = args[0].getName();
if ( strncmp( name0, "OC", 2) == 0 && contentConfig) {
if ( numArgs >= 2 ) {
- if (!args[1].isName()) {
+ if (args[1].isName()) {
+ char* name1 = args[1].getName();
+ MarkedContentStack *mc = mcStack;
+ mc->kind = gfxMCOptionalContent;
+ Object markedContent = res->lookupMarkedContentNF( name1 );
+ if (!markedContent.isNull()) {
+ bool visible = contentConfig->optContentIsVisible(&markedContent);
+ mc->ocSuppressed = !(visible);
+ } else {
+ error(errSyntaxError, getPos(), "DID NOT find {0:s}", name1);
+ }
+ } else {
error(errSyntaxError, getPos(), "Unexpected MC Type: {0:d}", args[1].getType());
}
- char* name1 = args[1].getName();
- MarkedContentStack *mc = mcStack;
- mc->kind = gfxMCOptionalContent;
- Object markedContent = res->lookupMarkedContentNF( name1 );
- if (!markedContent.isNull()) {
- bool visible = contentConfig->optContentIsVisible(&markedContent);
- mc->ocSuppressed = !(visible);
- } else {
- error(errSyntaxError, getPos(), "DID NOT find {0:s}", name1);
- }
} else {
error(errSyntaxError, getPos(), "insufficient arguments for Marked Content");
}
@@ -5060,7 +5063,7 @@
if (numArgs == 2 && args[1].isDict()) {
out->beginMarkedContent(args[0].getName(), args[1].getDict());
} else if(numArgs == 1) {
- out->beginMarkedContent(args[0].getName(), NULL);
+ out->beginMarkedContent(args[0].getName(), nullptr);
}
}
@@ -5105,7 +5108,7 @@
//------------------------------------------------------------------------
struct GfxStackStateSaver {
- GfxStackStateSaver(Gfx *gfx) : gfx(gfx) {
+ GfxStackStateSaver(Gfx *gfxA) : gfx(gfxA) {
gfx->saveState();
}
@@ -5113,6 +5116,9 @@
gfx->restoreState();
}
+ GfxStackStateSaver(const GfxStackStateSaver &) = delete;
+ GfxStackStateSaver& operator=(const GfxStackStateSaver &) = delete;
+
Gfx * const gfx;
};
@@ -5271,7 +5277,7 @@
// get the resources
Object resObj = dict->lookup("Resources");
- resDict = resObj.isDict() ? resObj.getDict() : (Dict *)NULL;
+ resDict = resObj.isDict() ? resObj.getDict() : (Dict *)nullptr;
// draw it
drawForm(str, resDict, m, bbox);
@@ -5280,7 +5286,7 @@
// draw the border
if (border && border->getWidth() > 0) {
if (state->getStrokeColorSpace()->getMode() != csDeviceRGB) {
- state->setStrokePattern(NULL);
+ state->setStrokePattern(nullptr);
state->setStrokeColorSpace(new GfxDeviceRGBColorSpace());
out->updateStrokeColorSpace(state);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Gfx.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -17,7 +17,7 @@
// Copyright (C) 2007 Iñigo Martínez <inigomartinez at gmail.com>
// Copyright (C) 2008 Brad Hards <bradh at kde.org>
// Copyright (C) 2008, 2010 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2009-2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009, 2010, 2012, 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2010 David Benjamin <davidben at mit.edu>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
@@ -112,6 +112,9 @@
GfxResources(XRef *xref, Dict *resDict, GfxResources *nextA);
~GfxResources();
+ GfxResources(const GfxResources &) = delete;
+ GfxResources& operator=(const GfxResources &other) = delete;
+
GfxFont *lookupFont(char *name);
Object lookupXObject(char *name);
Object lookupXObjectNF(char *name);
@@ -161,6 +164,9 @@
#endif
~Gfx();
+ Gfx(const Gfx &) = delete;
+ Gfx& operator=(const Gfx &other) = delete;
+
XRef *getXRef() { return xref; }
// Interpret a stream or array of streams.
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005, 2006, 2008-2010, 2012, 2014, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2006, 2008-2010, 2012, 2014, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
// Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
@@ -30,7 +30,7 @@
// Copyright (C) 2012 Yi Yang <ahyangyi at gmail.com>
// Copyright (C) 2012 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
// Copyright (C) 2012, 2017 Thomas Freitag <Thomas.Freitag at alfa.de>
-// Copyright (C) 2013-2016 Jason Crain <jason at aquaticape.us>
+// Copyright (C) 2013-2016, 2018 Jason Crain <jason at aquaticape.us>
// Copyright (C) 2014 Olly Betts <olly at survex.com>
//
// To see a description of the changes please see the Changelog file that
@@ -186,9 +186,9 @@
//------------------------------------------------------------------------
GfxFontLoc::GfxFontLoc() {
- path = NULL;
+ path = nullptr;
fontNum = 0;
- encoding = NULL;
+ encoding = nullptr;
substIdx = -1;
}
@@ -212,7 +212,7 @@
GfxFont *font;
// get base font name
- nameA = NULL;
+ nameA = nullptr;
Object obj1 = fontDict->lookup("BaseFont");
if (obj1.isName()) {
nameA = new GooString(obj1.getName());
@@ -222,7 +222,7 @@
typeA = getFontType(xref, fontDict, &embFontIDA);
// create the font object
- font = NULL;
+ font = nullptr;
if (typeA < fontCIDType0) {
font = new Gfx8BitFont(xref, tagA, idA, nameA, typeA, embFontIDA,
fontDict);
@@ -242,8 +242,8 @@
name = nameA;
type = typeA;
embFontID = embFontIDA;
- embFontName = NULL;
- family = NULL;
+ embFontName = nullptr;
+ family = nullptr;
stretch = StretchNotDefined;
weight = WeightNotDefined;
refCnt = 1;
@@ -480,7 +480,7 @@
if (obj2.isName()) {
embFontName = new GooString(obj2.getName());
}
- if (embFontName == NULL) {
+ if (embFontName == nullptr) {
// get name with typo
obj2 = obj1.dictLookup("Fontname");
if (obj2.isName()) {
@@ -575,7 +575,7 @@
Object obj1 = fontDict->lookup("ToUnicode");
if (!obj1.isStream()) {
- return NULL;
+ return nullptr;
}
buf = new GooString();
obj1.getStream()->fillGooString(buf);
@@ -598,7 +598,7 @@
GBool embed;
if (type == fontType3) {
- return NULL;
+ return nullptr;
}
//----- embedded font
@@ -753,11 +753,11 @@
}
// failed to find a substitute font
- return NULL;
+ return nullptr;
}
// failed to find a substitute font
- return NULL;
+ return nullptr;
}
GfxFontLoc *GfxFont::locateBase14Font(GooString *base14Name) {
@@ -765,7 +765,7 @@
path = globalParams->findFontFile(base14Name);
if (!path) {
- return NULL;
+ return nullptr;
}
return getExternalFont(path, gFalse);
}
@@ -807,7 +807,7 @@
(cid ? (fontType < fontCIDType0)
: (fontType >= fontCIDType0))) {
delete path;
- return NULL;
+ return nullptr;
}
fontLoc = new GfxFontLoc();
fontLoc->locType = gfxFontLocExternal;
@@ -826,7 +826,7 @@
error(errSyntaxError, -1, "Embedded font file is not a stream");
embFontID.num = -1;
*len = 0;
- return NULL;
+ return nullptr;
}
str = obj2.getStream();
@@ -849,7 +849,7 @@
{ "ff", "f_f" },
{ "ffi", "f_f_i" },
{ "ffl", "f_f_l" },
- { 0, 0 }
+ { nullptr, nullptr }
};
const char *GfxFont::getAlternateName(const char *name) {
@@ -860,7 +860,7 @@
}
map++;
}
- return 0;
+ return nullptr;
}
//------------------------------------------------------------------------
@@ -933,7 +933,7 @@
numeric = gFalse;
} else if (obj.isName()) {
// All character names must sucessfully parse.
- if (!parseNumericName(obj.getName(), hex, NULL))
+ if (!parseNumericName(obj.getName(), hex, nullptr))
numeric = gFalse;
} else {
numeric = gFalse;
@@ -968,11 +968,11 @@
int n, i, a, b, m;
refCnt = 1;
- ctu = NULL;
+ ctu = nullptr;
// do font name substitution for various aliases of the Base 14 font
// names
- base14 = NULL;
+ base14 = nullptr;
if (name) {
name2 = name->copy();
i = 0;
@@ -1001,7 +1001,7 @@
}
// is it a built-in font?
- builtinFont = NULL;
+ builtinFont = nullptr;
if (base14) {
for (i = 0; i < nBuiltinFonts; ++i) {
if (!strcmp(base14->base14Name, builtinFonts[i].name)) {
@@ -1092,7 +1092,7 @@
// check FontDict for base encoding
hasEncoding = gFalse;
usesMacRomanEnc = gFalse;
- baseEnc = NULL;
+ baseEnc = nullptr;
baseEncFromFontFile = gFalse;
obj1 = fontDict->lookup("Encoding");
if (obj1.isDict()) {
@@ -1123,9 +1123,9 @@
// check embedded font file for base encoding
// (only for Type 1 fonts - trying to get an encoding out of a
// TrueType font is a losing proposition)
- ffT1 = NULL;
- ffT1C = NULL;
- buf = NULL;
+ ffT1 = nullptr;
+ ffT1C = nullptr;
+ buf = nullptr;
if (type == fontType1 && embFontID.num >= 0) {
if ((buf = readEmbFontFile(xref, &len))) {
if ((ffT1 = FoFiType1::make(buf, len))) {
@@ -1288,7 +1288,7 @@
// block (eg "fi", "ffi") to normal form
for (code = 0; code < 256; ++code) {
if (unicodeIsAlphabeticPresentationForm(toUnicode[code])) {
- Unicode *normalized = unicodeNormalizeNFKC(&toUnicode[code], 1, &len, NULL);
+ Unicode *normalized = unicodeNormalizeNFKC(&toUnicode[code], 1, &len, nullptr);
if (len > 1)
ctu->setMapping((CharCode)code, normalized, len);
gfree(normalized);
@@ -1458,7 +1458,7 @@
char *var_part = strchr(charName, '.');
if (var_part == charName) {
return 0; // .notdef or similar
- } else if (var_part != NULL) {
+ } else if (var_part != nullptr) {
// parse names of the form 7.oldstyle, P.swash, s.sc, etc.
char *main_part = gstrndup(charName, var_part - charName);
GBool namesRecurse = gTrue, variantsRecurse = gFalse;
@@ -1696,7 +1696,7 @@
}
Dict *Gfx8BitFont::getCharProcs() {
- return charProcs.isDict() ? charProcs.getDict() : (Dict *)NULL;
+ return charProcs.isDict() ? charProcs.getDict() : (Dict *)nullptr;
}
Object Gfx8BitFont::getCharProc(int code) {
@@ -1716,7 +1716,7 @@
}
Dict *Gfx8BitFont::getResources() {
- return resources.isDict() ? resources.getDict() : (Dict *)NULL;
+ return resources.isDict() ? resources.getDict() : (Dict *)nullptr;
}
//------------------------------------------------------------------------
@@ -1748,24 +1748,24 @@
CharCode c;
Unicode *uBuf;
int c1, c2;
- int excepsSize, i, j, k, n;
+ int excepsSize, j, k, n;
refCnt = 1;
ascent = 0.95;
descent = -0.35;
fontBBox[0] = fontBBox[1] = fontBBox[2] = fontBBox[3] = 0;
- collection = NULL;
- cMap = NULL;
- ctu = NULL;
+ collection = nullptr;
+ cMap = nullptr;
+ ctu = nullptr;
ctuUsesCharCode = gTrue;
widths.defWidth = 1.0;
widths.defHeight = -1.0;
widths.defVY = 0.880;
- widths.exceps = NULL;
+ widths.exceps = nullptr;
widths.nExceps = 0;
- widths.excepsV = NULL;
+ widths.excepsV = nullptr;
widths.nExcepsV = 0;
- cidToGID = NULL;
+ cidToGID = nullptr;
cidToGIDLen = 0;
// get the descendant font
@@ -1801,7 +1801,7 @@
collection = obj2.getString()->copy()->append('-')->append(obj3.getString());
// look for a ToUnicode CMap
- if (!(ctu = readToUnicodeCMap(fontDict, 16, NULL))) {
+ if (!(ctu = readToUnicodeCMap(fontDict, 16, nullptr))) {
ctuUsesCharCode = gFalse;
// use an identity mapping for the "Adobe-Identity" and
@@ -1862,7 +1862,7 @@
error(errSyntaxError, -1, "Missing Encoding entry in Type 0 font");
return;
}
- if (!(cMap = CMap::parse(NULL, collection, &obj1))) {
+ if (!(cMap = CMap::parse(nullptr, collection, &obj1))) {
return;
}
if (cMap->getCMapName()) {
@@ -1876,7 +1876,7 @@
obj1 = desFontDict->lookup("CIDToGIDMap");
if (obj1.isStream()) {
cidToGIDLen = 0;
- i = 64;
+ int i = 64;
cidToGID = (int *)gmallocn(i, sizeof(int));
obj1.streamReset();
while ((c1 = obj1.streamGetChar()) != EOF &&
@@ -1904,7 +1904,7 @@
obj1 = desFontDict->lookup("W");
if (obj1.isArray()) {
excepsSize = 0;
- i = 0;
+ int i = 0;
while (i + 1 < obj1.arrayGetLength()) {
obj2 = obj1.arrayGet(i);
obj3 = obj1.arrayGet(i + 1);
@@ -1973,7 +1973,7 @@
obj1 = desFontDict->lookup("W2");
if (obj1.isArray()) {
excepsSize = 0;
- i = 0;
+ int i = 0;
while (i + 1 < obj1.arrayGetLength()) {
obj2 = obj1.arrayGet(i);
obj3 = obj1.arrayGet(i+ 1);
@@ -2055,7 +2055,7 @@
Unicode **u, int *uLen,
double *dx, double *dy, double *ox, double *oy) {
CID cid;
- CharCode c;
+ CharCode dummy;
double w, h, vx, vy;
int n, a, b, m;
@@ -2066,7 +2066,7 @@
return 1;
}
- *code = (CharCode)(cid = cMap->getCID(s, len, &c, &n));
+ *code = (CharCode)(cid = cMap->getCID(s, len, &dummy, &n));
if (ctu) {
if (hasToUnicode) {
int i = 0, c = 0;
@@ -2133,7 +2133,7 @@
}
GooString *GfxCIDFont::getCollection() {
- return cMap ? cMap->getCollection() : (GooString *)NULL;
+ return cMap ? cMap->getCollection() : (GooString *)nullptr;
}
int GfxCIDFont::mapCodeToGID(FoFiTrueType *ff, int cmapi,
@@ -2159,7 +2159,7 @@
"UniCNS-UCS2-V",
"UniCNS-UTF32-H",
"UniCNS-UCS2-H",
- 0
+ nullptr
};
static const char *adobe_gb1_cmaps[] = {
"UniGB-UTF32-V",
@@ -2166,7 +2166,7 @@
"UniGB-UCS2-V",
"UniGB-UTF32-H",
"UniGB-UCS2-H",
- 0
+ nullptr
};
static const char *adobe_japan1_cmaps[] = {
"UniJIS-UTF32-V",
@@ -2173,7 +2173,7 @@
"UniJIS-UCS2-V",
"UniJIS-UTF32-H",
"UniJIS-UCS2-H",
- 0
+ nullptr
};
static const char *adobe_japan2_cmaps[] = {
"UniHojo-UTF32-V",
@@ -2180,7 +2180,7 @@
"UniHojo-UCS2-V",
"UniHojo-UTF32-H",
"UniHojo-UCS2-H",
- 0
+ nullptr
};
static const char *adobe_korea1_cmaps[] = {
"UniKS-UTF32-V",
@@ -2187,7 +2187,7 @@
"UniKS-UCS2-V",
"UniKS-UTF32-H",
"UniKS-UCS2-H",
- 0
+ nullptr
};
static struct CMapListEntry {
const char *collection;
@@ -2226,12 +2226,12 @@
"Adobe-Korea1-UCS2",
adobe_korea1_cmaps,
},
- {0, 0, 0, 0}
+ {nullptr, nullptr, nullptr, nullptr, nullptr}
};
- Unicode *humap = 0;
- Unicode *vumap = 0;
- Unicode *tumap = 0;
- int *codeToGID = 0;
+ Unicode *humap = nullptr;
+ Unicode *vumap = nullptr;
+ Unicode *tumap = nullptr;
+ int *codeToGID = nullptr;
unsigned long n;
int i;
unsigned long code;
@@ -2244,8 +2244,8 @@
Ref embID;
*mapsizep = 0;
- if (!ctu || !getCollection()) return NULL;
- if (getCollection()->cmp("Adobe-Identity") == 0) return NULL;
+ if (!ctu || !getCollection()) return nullptr;
+ if (getCollection()->cmp("Adobe-Identity") == 0) return nullptr;
if (getEmbeddedFontID(&embID)) {
/* if this font is embedded font,
* CIDToGIDMap should be embedded in PDF file
@@ -2273,10 +2273,10 @@
}
}
if (cmap < 0)
- return NULL;
+ return nullptr;
wmode = getWMode();
- for (lp = CMapList;lp->collection != 0;lp++) {
+ for (lp = CMapList;lp->collection != nullptr;lp++) {
if (strcmp(lp->collection,getCollection()->getCString()) == 0) {
break;
}
@@ -2285,11 +2285,11 @@
tumap = new Unicode[n];
humap = new Unicode[n*N_UCS_CANDIDATES];
memset(humap,0,sizeof(Unicode)*n*N_UCS_CANDIDATES);
- if (lp->collection != 0) {
+ if (lp->collection != nullptr) {
CharCodeToUnicode *tctu;
GooString tname(lp->toUnicodeMap);
- if ((tctu = CharCodeToUnicode::parseCMapFromFile(&tname,16)) != 0) {
+ if ((tctu = CharCodeToUnicode::parseCMapFromFile(&tname,16)) != nullptr) {
CharCode cid;
for (cid = 0;cid < n ;cid++) {
int len;
@@ -2307,11 +2307,11 @@
}
vumap = new Unicode[n];
memset(vumap,0,sizeof(Unicode)*n);
- for (cmapName = lp->CMaps;*cmapName != 0;cmapName++) {
+ for (cmapName = lp->CMaps;*cmapName != nullptr;cmapName++) {
GooString cname(*cmapName);
if ((cMap = globalParams->getCMap(getCollection(),&cname))
- != 0) {
+ != nullptr) {
if (cMap->getWMode()) {
cMap->setReverseMap(vumap,n,1);
} else {
@@ -2324,7 +2324,7 @@
} else {
error(errSyntaxError, -1, "Unknown character collection {0:t}\n",
getCollection());
- if ((ctu = getToUnicode()) != 0) {
+ if ((ctu = getToUnicode()) != nullptr) {
CharCode cid;
for (cid = 0;cid < n ;cid++) {
Unicode *ucode;
@@ -2348,17 +2348,17 @@
unicode = 0;
gid = 0;
- if (humap != 0) {
+ if (humap != nullptr) {
for (i = 0;i < N_UCS_CANDIDATES
&& gid == 0 && (unicode = humap[code*N_UCS_CANDIDATES+i]) != 0;i++) {
gid = mapCodeToGID(ff,cmap,unicode,gFalse);
}
}
- if (gid == 0 && vumap != 0) {
+ if (gid == 0 && vumap != nullptr) {
unicode = vumap[code];
if (unicode != 0) {
gid = mapCodeToGID(ff,cmap,unicode,gTrue);
- if (gid == 0 && tumap != 0) {
+ if (gid == 0 && tumap != nullptr) {
if ((unicode = tumap[code]) != 0) {
gid = mapCodeToGID(ff,cmap,unicode,gTrue);
}
@@ -2365,7 +2365,7 @@
}
}
}
- if (gid == 0 && tumap != 0) {
+ if (gid == 0 && tumap != nullptr) {
if ((unicode = tumap[code]) != 0) {
gid = mapCodeToGID(ff,cmap,unicode,gFalse);
}
@@ -2374,7 +2374,7 @@
/* special handling space characters */
const unsigned long *p;
- if (humap != 0) unicode = humap[code];
+ if (humap != nullptr) unicode = humap[code];
if (unicode != 0) {
/* check if code is space character , so map code to 0x0020 */
for (p = spaces;*p != 0;p++) {
@@ -2389,9 +2389,9 @@
codeToGID[code] = gid;
}
*mapsizep = n;
- if (humap != 0) delete[] humap;
- if (tumap != 0) delete[] tumap;
- if (vumap != 0) delete[] vumap;
+ if (humap != nullptr) delete[] humap;
+ if (tumap != nullptr) delete[] tumap;
+ if (vumap != nullptr) delete[] vumap;
return codeToGID;
}
@@ -2443,16 +2443,16 @@
if (obj2.isDict()) {
if (obj1.isRef()) {
r = obj1.getRef();
+ } else if (fontDictRef) {
+ // legal generation numbers are five digits, so we use a
+ // 6-digit number here
+ r.gen = 100000 + fontDictRef->num;
+ r.num = i;
} else {
- // no indirect reference for this font, so invent a unique one
- // (legal generation numbers are five digits, so any 6-digit
- // number would be safe)
- r.num = i;
- if (fontDictRef) {
- r.gen = 100000 + fontDictRef->num;
- } else {
- r.gen = 999999;
- }
+ // no indirect reference for this font, or for the containing
+ // font dict, so hash the font and use that
+ r.gen = 100000;
+ r.num = hashFontObject(&obj2);
}
fonts[i] = GfxFont::makeFont(xref, fontDict->getKey(i),
r, obj2.getDict());
@@ -2462,11 +2462,11 @@
// we can tell the difference between a missing font
// and a font that is just !isOk()
fonts[i]->decRefCnt();
- fonts[i] = NULL;
+ fonts[i] = nullptr;
}
} else {
error(errSyntaxError, -1, "font resource is not a dictionary");
- fonts[i] = NULL;
+ fonts[i] = nullptr;
}
}
}
@@ -2490,5 +2490,112 @@
return fonts[i];
}
}
- return NULL;
+ return nullptr;
}
+
+// FNV-1a hash
+class FNVHash {
+public:
+
+ FNVHash() {
+ h = 2166136261U;
+ }
+
+ void hash(char c) {
+ h ^= c & 0xff;
+ h *= 16777619;
+ }
+
+ void hash(char *p, int n) {
+ int i;
+ for (i = 0; i < n; ++i) {
+ hash(p[i]);
+ }
+ }
+
+ int get31() {
+ return (h ^ (h >> 31)) & 0x7fffffff;
+ }
+
+private:
+
+ Guint h;
+};
+
+int GfxFontDict::hashFontObject(Object *obj) {
+ FNVHash h;
+
+ hashFontObject1(obj, &h);
+ return h.get31();
+}
+
+void GfxFontDict::hashFontObject1(Object *obj, FNVHash *h) {
+ Object obj2;
+ GooString *s;
+ char *p;
+ double r;
+ int n, i;
+
+ switch (obj->getType()) {
+ case objBool:
+ h->hash('b');
+ h->hash(obj->getBool() ? 1 : 0);
+ break;
+ case objInt:
+ h->hash('i');
+ n = obj->getInt();
+ h->hash((char *)&n, sizeof(int));
+ break;
+ case objReal:
+ h->hash('r');
+ r = obj->getReal();
+ h->hash((char *)&r, sizeof(double));
+ break;
+ case objString:
+ h->hash('s');
+ s = obj->getString();
+ h->hash(s->getCString(), s->getLength());
+ break;
+ case objName:
+ h->hash('n');
+ p = obj->getName();
+ h->hash(p, (int)strlen(p));
+ break;
+ case objNull:
+ h->hash('z');
+ break;
+ case objArray:
+ h->hash('a');
+ n = obj->arrayGetLength();
+ h->hash((char *)&n, sizeof(int));
+ for (i = 0; i < n; ++i) {
+ obj2 = obj->arrayGetNF(i);
+ hashFontObject1(&obj2, h);
+ }
+ break;
+ case objDict:
+ h->hash('d');
+ n = obj->dictGetLength();
+ h->hash((char *)&n, sizeof(int));
+ for (i = 0; i < n; ++i) {
+ p = obj->dictGetKey(i);
+ h->hash(p, (int)strlen(p));
+ obj2 = obj->dictGetValNF(i);
+ hashFontObject1(&obj2, h);
+ }
+ break;
+ case objStream:
+ // this should never happen - streams must be indirect refs
+ break;
+ case objRef:
+ h->hash('f');
+ n = obj->getRefNum();
+ h->hash((char *)&n, sizeof(int));
+ n = obj->getRefGen();
+ h->hash((char *)&n, sizeof(int));
+ break;
+ default:
+ h->hash('u');
+ break;
+ }
+}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxFont.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005, 2008, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2008, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
// Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
@@ -21,7 +21,7 @@
// Copyright (C) 2007 Koji Otani <sho at bbr.jp>
// Copyright (C) 2011 Axel Strübing <axel.struebing at freenet.de>
// Copyright (C) 2011, 2012, 2014 Adrian Johnson <ajohnson at redneon.com>
-// Copyright (C) 2015 Jason Crain <jason at aquaticape.us>
+// Copyright (C) 2015, 2018 Jason Crain <jason at aquaticape.us>
// Copyright (C) 2015 Thomas Freitag <Thomas.Freitag at alfa.de>
//
// To see a description of the changes please see the Changelog file that
@@ -48,6 +48,7 @@
class PSOutputDev;
struct GfxFontCIDWidths;
struct Base14FontMapEntry;
+class FNVHash;
//------------------------------------------------------------------------
// GfxFontType
@@ -114,6 +115,9 @@
GfxFontLoc();
~GfxFontLoc();
+ GfxFontLoc(const GfxFontLoc &) = delete;
+ GfxFontLoc& operator=(const GfxFontLoc &) = delete;
+
GfxFontLocType locType;
GfxFontType fontType;
Ref embFontID; // embedded stream obj ID
@@ -176,6 +180,9 @@
GfxFont(const char *tagA, Ref idA, GooString *nameA,
GfxFontType typeA, Ref embFontIDA);
+ GfxFont(const GfxFont &) = delete;
+ GfxFont& operator=(const GfxFont &other) = delete;
+
GBool isOk() { return ok; }
void incRefCnt();
@@ -440,6 +447,9 @@
// Destructor.
~GfxFontDict();
+ GfxFontDict(const GfxFontDict &) = delete;
+ GfxFontDict& operator=(const GfxFontDict &) = delete;
+
// Get the specified font.
GfxFont *lookup(char *tag);
@@ -449,6 +459,9 @@
private:
+ int hashFontObject(Object *obj);
+ void hashFontObject1(Object *obj, FNVHash *h);
+
GfxFont **fonts; // list of fonts
int numFonts; // number of fonts
};
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -16,7 +16,7 @@
// Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2006, 2010 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2006-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009, 2012 Koji Otani <sho at bbr.jp>
// Copyright (C) 2009, 2011-2016 Thomas Freitag <Thomas.Freitag at alfa.de>
// Copyright (C) 2009 Christian Persch <chpe at gnome.org>
@@ -210,11 +210,11 @@
return --refCount;
}
-static cmsHPROFILE RGBProfile = NULL;
-static GooString *displayProfileName = NULL; // display profile file Name
-static cmsHPROFILE displayProfile = NULL; // display profile
+static cmsHPROFILE RGBProfile = nullptr;
+static GooString *displayProfileName = nullptr; // display profile file Name
+static cmsHPROFILE displayProfile = nullptr; // display profile
static unsigned int displayPixelType = 0;
-static GfxColorTransform *XYZ2DisplayTransform = NULL;
+static GfxColorTransform *XYZ2DisplayTransform = nullptr;
// convert color space signature to cmsColor type
static unsigned int getCMSColorSpaceType(cmsColorSpaceSignature cs);
@@ -223,7 +223,7 @@
void GfxColorSpace::setDisplayProfile(void *displayProfileA) {
displayProfile = displayProfileA;
- if (displayProfile != NULL) {
+ if (displayProfile != nullptr) {
cmsHTRANSFORM transform;
unsigned int nChannels;
@@ -235,7 +235,7 @@
displayProfile,
COLORSPACE_SH(displayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
- INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
XYZ2DisplayTransform = new GfxColorTransform(transform, INTENT_RELATIVE_COLORIMETRIC, PT_XYZ, displayPixelType);
@@ -264,7 +264,7 @@
GfxColorSpace::GfxColorSpace() {
overprintMask = 0x0f;
- mapping = NULL;
+ mapping = nullptr;
}
GfxColorSpace::~GfxColorSpace() {
@@ -276,46 +276,46 @@
if (recursion > colorSpaceRecursionLimit) {
error(errSyntaxError, -1, "Loop detected in color space objects");
- return NULL;
+ return nullptr;
}
- cs = NULL;
+ cs = nullptr;
if (csObj->isName()) {
if (csObj->isName("DeviceGray") || csObj->isName("G")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultGray");
if (objCS.isNull()) {
cs = new GfxDeviceGrayColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceGrayColorSpace();
}
} else if (csObj->isName("DeviceRGB") || csObj->isName("RGB")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultRGB");
if (objCS.isNull()) {
cs = new GfxDeviceRGBColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceRGBColorSpace();
}
} else if (csObj->isName("DeviceCMYK") || csObj->isName("CMYK")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultCMYK");
if (objCS.isNull()) {
cs = new GfxDeviceCMYKColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceCMYKColorSpace();
}
} else if (csObj->isName("Pattern")) {
- cs = new GfxPatternColorSpace(NULL);
+ cs = new GfxPatternColorSpace(nullptr);
} else {
error(errSyntaxWarning, -1, "Bad color space '{0:s}'", csObj->getName());
}
@@ -322,34 +322,34 @@
} else if (csObj->isArray() && csObj->arrayGetLength() > 0) {
obj1 = csObj->arrayGet(0);
if (obj1.isName("DeviceGray") || obj1.isName("G")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultGray");
if (objCS.isNull()) {
cs = new GfxDeviceGrayColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceGrayColorSpace();
}
} else if (obj1.isName("DeviceRGB") || obj1.isName("RGB")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultRGB");
if (objCS.isNull()) {
cs = new GfxDeviceRGBColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceRGBColorSpace();
}
} else if (obj1.isName("DeviceCMYK") || obj1.isName("CMYK")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultCMYK");
if (objCS.isNull()) {
cs = new GfxDeviceCMYKColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceCMYKColorSpace();
@@ -376,34 +376,34 @@
} else if (csObj->isDict()) {
obj1 = csObj->dictLookup("ColorSpace");
if (obj1.isName("DeviceGray")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultGray");
if (objCS.isNull()) {
cs = new GfxDeviceGrayColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceGrayColorSpace();
}
} else if (obj1.isName("DeviceRGB")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultRGB");
if (objCS.isNull()) {
cs = new GfxDeviceRGBColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceRGBColorSpace();
}
} else if (obj1.isName("DeviceCMYK")) {
- if (res != NULL) {
+ if (res != nullptr) {
Object objCS = res->lookupColorSpace("DefaultCMYK");
if (objCS.isNull()) {
cs = new GfxDeviceCMYKColorSpace();
} else {
- cs = GfxColorSpace::parse(NULL, &objCS, out, state);
+ cs = GfxColorSpace::parse(nullptr, &objCS, out, state);
}
} else {
cs = new GfxDeviceCMYKColorSpace();
@@ -442,13 +442,13 @@
#ifdef USE_CMS
cmsHPROFILE loadColorProfile(const char *fileName)
{
- cmsHPROFILE hp = NULL;
+ cmsHPROFILE hp = nullptr;
FILE *fp;
if (fileName[0] == '/') {
// full path
// check if open the file
- if ((fp = fopen(fileName,"r")) != NULL) {
+ if ((fp = fopen(fileName,"r")) != nullptr) {
fclose(fp);
hp = cmsOpenProfileFromFile(fileName,"r");
}
@@ -458,7 +458,7 @@
GooString *path = new GooString(GLOBAL_COLOR_PROFILE_DIR);
path->append(fileName);
// check if open the file
- if ((fp = fopen(path->getCString(),"r")) != NULL) {
+ if ((fp = fopen(path->getCString(),"r")) != nullptr) {
fclose(fp);
hp = cmsOpenProfileFromFile(path->getCString(),"r");
}
@@ -484,9 +484,9 @@
// set error handlor
cmsSetLogErrorHandler(CMSError);
- if (displayProfile == NULL) {
+ if (displayProfile == nullptr) {
// load display profile if it was not already loaded.
- if (displayProfileName == NULL) {
+ if (displayProfileName == nullptr) {
displayProfile = loadColorProfile("display.icc");
} else if (displayProfileName->getLength() > 0) {
displayProfile = loadColorProfile(displayProfileName->getCString());
@@ -494,12 +494,12 @@
}
// load RGB profile
RGBProfile = loadColorProfile("RGB.icc");
- if (RGBProfile == NULL) {
+ if (RGBProfile == nullptr) {
/* use built in sRGB profile */
RGBProfile = cmsCreate_sRGBProfile();
}
// create transforms
- if (displayProfile != NULL) {
+ if (displayProfile != nullptr) {
displayPixelType = getCMSColorSpaceType(cmsGetColorSpace(displayProfile));
nChannels = getCMSNChannels(cmsGetColorSpace(displayProfile));
// create transform from XYZ
@@ -508,7 +508,7 @@
displayProfile,
COLORSPACE_SH(displayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
- INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
XYZ2DisplayTransform = new GfxColorTransform(transform, INTENT_RELATIVE_COLORIMETRIC, PT_XYZ, displayPixelType);
@@ -734,7 +734,7 @@
GfxCalGrayColorSpace::~GfxCalGrayColorSpace() {
#ifdef USE_CMS
- if (transform != NULL) {
+ if (transform != nullptr) {
if (transform->unref() == 0) delete transform;
}
#endif
@@ -756,7 +756,7 @@
cs->kb = kb;
#ifdef USE_CMS
cs->transform = transform;
- if (transform != NULL) transform->ref();
+ if (transform != nullptr) transform->ref();
#endif
return cs;
}
@@ -776,7 +776,7 @@
obj1 = arr->get(1);
if (!obj1.isDict()) {
error(errSyntaxWarning, -1, "Bad CalGray color space");
- return NULL;
+ return nullptr;
}
cs = new GfxCalGrayColorSpace();
obj2 = obj1.dictLookup("WhitePoint");
@@ -818,8 +818,8 @@
xyzrgb[2][1] * cs->whiteY +
xyzrgb[2][2] * cs->whiteZ);
#ifdef USE_CMS
- cs->transform = (state != NULL) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
- if (cs->transform != NULL) cs->transform->ref();
+ cs->transform = (state != nullptr) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
+ if (cs->transform != nullptr) cs->transform->ref();
#endif
return cs;
}
@@ -839,7 +839,7 @@
GfxRGB rgb;
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_GRAY) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_GRAY) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
double X, Y, Z;
@@ -865,7 +865,7 @@
getXYZ(color,&X,&Y,&Z);
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_RGB) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_RGB) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
@@ -896,7 +896,7 @@
GfxColorComp c, m, y, k;
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_CMYK) {
double in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
double X, Y, Z;
@@ -1105,7 +1105,7 @@
GfxCalRGBColorSpace::~GfxCalRGBColorSpace() {
#ifdef USE_CMS
- if (transform != NULL) {
+ if (transform != nullptr) {
if (transform->unref() == 0) delete transform;
}
#endif
@@ -1133,7 +1133,7 @@
}
#ifdef USE_CMS
cs->transform = transform;
- if (transform != NULL) transform->ref();
+ if (transform != nullptr) transform->ref();
#endif
return cs;
}
@@ -1146,7 +1146,7 @@
obj1 = arr->get(1);
if (!obj1.isDict()) {
error(errSyntaxWarning, -1, "Bad CalRGB color space");
- return NULL;
+ return nullptr;
}
cs = new GfxCalRGBColorSpace();
obj2 = obj1.dictLookup("WhitePoint");
@@ -1205,8 +1205,8 @@
xyzrgb[2][2] * cs->whiteZ);
#ifdef USE_CMS
- cs->transform = (state != NULL) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
- if (cs->transform != NULL) cs->transform->ref();
+ cs->transform = (state != nullptr) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
+ if (cs->transform != nullptr) cs->transform->ref();
#endif
return cs;
}
@@ -1228,7 +1228,7 @@
GfxRGB rgb;
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_GRAY) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_GRAY) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
double X, Y, Z;
@@ -1254,7 +1254,7 @@
getXYZ(color,&X,&Y,&Z);
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_RGB) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_RGB) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
@@ -1282,7 +1282,7 @@
GfxColorComp c, m, y, k;
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_CMYK) {
double in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
double X, Y, Z;
@@ -1479,7 +1479,7 @@
GfxLabColorSpace::~GfxLabColorSpace() {
#ifdef USE_CMS
- if (transform != NULL) {
+ if (transform != nullptr) {
if (transform->unref() == 0) delete transform;
}
#endif
@@ -1504,7 +1504,7 @@
cs->kb = kb;
#ifdef USE_CMS
cs->transform = transform;
- if (transform != NULL) transform->ref();
+ if (transform != nullptr) transform->ref();
#endif
return cs;
}
@@ -1516,7 +1516,7 @@
obj1 = arr->get(1);
if (!obj1.isDict()) {
error(errSyntaxWarning, -1, "Bad Lab color space");
- return NULL;
+ return nullptr;
}
cs = new GfxLabColorSpace();
bool ok = true;
@@ -1570,8 +1570,8 @@
xyzrgb[2][2] * cs->whiteZ);
#ifdef USE_CMS
- cs->transform = (state != NULL) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
- if (cs->transform != NULL) cs->transform->ref();
+ cs->transform = (state != nullptr) ? state->getXYZ2DisplayTransform() : XYZ2DisplayTransform;
+ if (cs->transform != nullptr) cs->transform->ref();
#endif
return cs;
}
@@ -1580,7 +1580,7 @@
GfxRGB rgb;
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_GRAY) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_GRAY) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
@@ -1628,11 +1628,10 @@
void GfxLabColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
double X, Y, Z;
- double r, g, b;
getXYZ(color, &X, &Y, &Z);
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_RGB) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_RGB) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
@@ -1644,7 +1643,7 @@
rgb->g = byteToCol(out[1]);
rgb->b = byteToCol(out[2]);
return;
- } else if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ } else if (transform != nullptr && transform->getTransformPixelType() == PT_CMYK) {
Guchar out[gfxColorMaxComps];
double in[gfxColorMaxComps];
double c, m, y, k, c1, m1, y1, k1, r, g, b;
@@ -1672,9 +1671,9 @@
Y *= whiteY;
Z *= whiteZ;
// convert XYZ to RGB, including gamut mapping and gamma correction
- r = xyzrgb[0][0] * X + xyzrgb[0][1] * Y + xyzrgb[0][2] * Z;
- g = xyzrgb[1][0] * X + xyzrgb[1][1] * Y + xyzrgb[1][2] * Z;
- b = xyzrgb[2][0] * X + xyzrgb[2][1] * Y + xyzrgb[2][2] * Z;
+ const double r = xyzrgb[0][0] * X + xyzrgb[0][1] * Y + xyzrgb[0][2] * Z;
+ const double g = xyzrgb[1][0] * X + xyzrgb[1][1] * Y + xyzrgb[1][2] * Z;
+ const double b = xyzrgb[2][0] * X + xyzrgb[2][1] * Y + xyzrgb[2][2] * Z;
rgb->r = dblToCol(sqrt(clip01(r * kr)));
rgb->g = dblToCol(sqrt(clip01(g * kg)));
rgb->b = dblToCol(sqrt(clip01(b * kb)));
@@ -1685,7 +1684,7 @@
GfxColorComp c, m, y, k;
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_CMYK) {
double in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
@@ -1798,8 +1797,8 @@
rangeMin[0] = rangeMin[1] = rangeMin[2] = rangeMin[3] = 0;
rangeMax[0] = rangeMax[1] = rangeMax[2] = rangeMax[3] = 1;
#ifdef USE_CMS
- transform = NULL;
- lineTransform = NULL;
+ transform = nullptr;
+ lineTransform = nullptr;
#endif
}
@@ -1806,10 +1805,10 @@
GfxICCBasedColorSpace::~GfxICCBasedColorSpace() {
delete alt;
#ifdef USE_CMS
- if (transform != NULL) {
+ if (transform != nullptr) {
if (transform->unref() == 0) delete transform;
}
- if (lineTransform != NULL) {
+ if (lineTransform != nullptr) {
if (lineTransform->unref() == 0) delete lineTransform;
}
#endif
@@ -1826,9 +1825,9 @@
}
#ifdef USE_CMS
cs->transform = transform;
- if (transform != NULL) transform->ref();
+ if (transform != nullptr) transform->ref();
cs->lineTransform = lineTransform;
- if (lineTransform != NULL) lineTransform->ref();
+ if (lineTransform != nullptr) lineTransform->ref();
#endif
return cs;
}
@@ -1844,7 +1843,7 @@
if (arr->getLength() < 2) {
error(errSyntaxError, -1, "Bad ICCBased color space");
- return NULL;
+ return nullptr;
}
obj1 = arr->getNF(1);
if (obj1.isRef()) {
@@ -1858,14 +1857,14 @@
if (out && iccProfileStreamA.num > 0) {
GfxICCBasedColorSpaceKey k(iccProfileStreamA.num, iccProfileStreamA.gen);
GfxICCBasedColorSpaceItem *item = static_cast<GfxICCBasedColorSpaceItem *>(out->getIccColorSpaceCache()->lookup(k));
- if (item != NULL)
+ if (item != nullptr)
{
cs = static_cast<GfxICCBasedColorSpace*>(item->cs->copy());
int transformIntent = cs->getIntent();
int cmsIntent = INTENT_RELATIVE_COLORIMETRIC;
- if (state != NULL) {
+ if (state != nullptr) {
const char *intent = state->getRenderingIntent();
- if (intent != NULL) {
+ if (intent != nullptr) {
if (strcmp(intent, "AbsoluteColorimetric") == 0) {
cmsIntent = INTENT_ABSOLUTE_COLORIMETRIC;
} else if (strcmp(intent, "Saturation") == 0) {
@@ -1885,7 +1884,7 @@
obj1 = arr->get(1);
if (!obj1.isStream()) {
error(errSyntaxWarning, -1, "Bad ICCBased color space (stream)");
- return NULL;
+ return nullptr;
}
dict = obj1.streamGetDict();
obj2 = dict->lookup("N");
@@ -1902,7 +1901,7 @@
}
obj2 = dict->lookup("Alternate");
if (obj2.isNull() ||
- !(altA = GfxColorSpace::parse(NULL, &obj2, out, state, recursion + 1))) {
+ !(altA = GfxColorSpace::parse(nullptr, &obj2, out, state, recursion + 1))) {
switch (nCompsA) {
case 1:
altA = new GfxDeviceGrayColorSpace();
@@ -1915,13 +1914,13 @@
break;
default:
error(errSyntaxWarning, -1, "Bad ICCBased color space - invalid N");
- return NULL;
+ return nullptr;
}
}
if (altA->getNComps() != nCompsA) {
error(errSyntaxWarning, -1, "Bad ICCBased color space - N doesn't match alt color space");
delete altA;
- return NULL;
+ return nullptr;
}
cs = new GfxICCBasedColorSpace(nCompsA, altA, &iccProfileStreamA);
obj2 = dict->lookup("Range");
@@ -1946,12 +1945,12 @@
profBuf = iccStream->toUnsignedChars(&length, 65536, 65536);
cmsHPROFILE hp = cmsOpenProfileFromMem(profBuf,length);
gfree(profBuf);
- if (hp == 0) {
+ if (hp == nullptr) {
error(errSyntaxWarning, -1, "read ICCBased color space profile error");
} else {
- cmsHPROFILE dhp = (state != NULL && state->getDisplayProfile() != NULL) ? state->getDisplayProfile() : displayProfile;
- if (dhp == NULL) {
- if (unlikely(RGBProfile == NULL)) {
+ cmsHPROFILE dhp = (state != nullptr && state->getDisplayProfile() != nullptr) ? state->getDisplayProfile() : displayProfile;
+ if (dhp == nullptr) {
+ if (unlikely(RGBProfile == nullptr)) {
GfxColorSpace::setupColorProfiles();
}
dhp = RGBProfile;
@@ -1962,9 +1961,9 @@
cmsHTRANSFORM transform;
int cmsIntent = INTENT_RELATIVE_COLORIMETRIC;
- if (state != NULL) {
+ if (state != nullptr) {
const char *intent = state->getRenderingIntent();
- if (intent != NULL) {
+ if (intent != nullptr) {
if (strcmp(intent, "AbsoluteColorimetric") == 0) {
cmsIntent = INTENT_ABSOLUTE_COLORIMETRIC;
} else if (strcmp(intent, "Saturation") == 0) {
@@ -1979,9 +1978,9 @@
dhp,
COLORSPACE_SH(dcst) |
CHANNELS_SH(dNChannels) | BYTES_SH(1),
- cmsIntent, LCMS_FLAGS)) == 0) {
+ cmsIntent, LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create transform");
- cs->transform = NULL;
+ cs->transform = nullptr;
} else {
cs->transform = new GfxColorTransform(transform, cmsIntent, cst, dcst);
}
@@ -1989,9 +1988,9 @@
// create line transform only when the display is RGB type color space
if ((transform = cmsCreateTransform(hp,
CHANNELS_SH(nCompsA) | BYTES_SH(1),dhp,
- (dcst == PT_RGB) ? TYPE_RGB_8 : TYPE_CMYK_8, cmsIntent, LCMS_FLAGS)) == 0) {
+ (dcst == PT_RGB) ? TYPE_RGB_8 : TYPE_CMYK_8, cmsIntent, LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create transform");
- cs->lineTransform = NULL;
+ cs->lineTransform = nullptr;
} else {
cs->lineTransform = new GfxColorTransform(transform, cmsIntent, cst, dcst);
}
@@ -2010,7 +2009,7 @@
void GfxICCBasedColorSpace::getGray(GfxColor *color, GfxGray *gray) {
#ifdef USE_CMS
- if (transform != 0 && transform->getTransformPixelType() == PT_GRAY) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_GRAY) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
@@ -2059,7 +2058,7 @@
void GfxICCBasedColorSpace::getRGB(GfxColor *color, GfxRGB *rgb) {
#ifdef USE_CMS
- if (transform != 0 && transform->getTransformPixelType() == PT_RGB) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_RGB) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
@@ -2098,7 +2097,7 @@
unsigned int value = (out[0] << 16) + (out[1] << 8) + out[2];
cmsCache.insert(std::pair<unsigned int, unsigned int>(key, value));
}
- } else if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ } else if (transform != nullptr && transform->getTransformPixelType() == PT_CMYK) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
double c, m, y, k, c1, m1, y1, k1, r, g, b;
@@ -2158,7 +2157,7 @@
void GfxICCBasedColorSpace::getRGBLine(Guchar *in, unsigned int *out,
int length) {
#ifdef USE_CMS
- if (lineTransform != 0 && lineTransform->getTransformPixelType() == PT_RGB) {
+ if (lineTransform != nullptr && lineTransform->getTransformPixelType() == PT_RGB) {
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
for (int i = 0; i < length; ++i) {
@@ -2176,7 +2175,7 @@
void GfxICCBasedColorSpace::getRGBLine(Guchar *in, Guchar *out, int length) {
#ifdef USE_CMS
- if (lineTransform != 0 && lineTransform->getTransformPixelType() == PT_RGB) {
+ if (lineTransform != nullptr && lineTransform->getTransformPixelType() == PT_RGB) {
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
Guchar *current = tmp;
@@ -2186,7 +2185,7 @@
*out++ = *current++;
}
gfree(tmp);
- } else if (lineTransform != NULL && lineTransform->getTransformPixelType() == PT_CMYK) {
+ } else if (lineTransform != nullptr && lineTransform->getTransformPixelType() == PT_CMYK) {
Guchar* tmp = (Guchar *)gmallocn(4 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
Guchar *current = tmp;
@@ -2216,7 +2215,7 @@
void GfxICCBasedColorSpace::getRGBXLine(Guchar *in, Guchar *out, int length) {
#ifdef USE_CMS
- if (lineTransform != 0 && lineTransform->getTransformPixelType() == PT_RGB) {
+ if (lineTransform != nullptr && lineTransform->getTransformPixelType() == PT_RGB) {
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
lineTransform->doTransform(in, tmp, length);
Guchar *current = tmp;
@@ -2237,9 +2236,9 @@
void GfxICCBasedColorSpace::getCMYKLine(Guchar *in, Guchar *out, int length) {
#ifdef USE_CMS
- if (lineTransform != NULL && lineTransform->getTransformPixelType() == PT_CMYK) {
+ if (lineTransform != nullptr && lineTransform->getTransformPixelType() == PT_CMYK) {
transform->doTransform(in,out,length);
- } else if (lineTransform != NULL && nComps != 4) {
+ } else if (lineTransform != nullptr && nComps != 4) {
GfxColorComp c, m, y, k;
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
getRGBLine(in, tmp, length);
@@ -2271,7 +2270,7 @@
void GfxICCBasedColorSpace::getDeviceNLine(Guchar *in, Guchar *out, int length) {
#ifdef USE_CMS
- if (lineTransform != NULL && lineTransform->getTransformPixelType() == PT_CMYK) {
+ if (lineTransform != nullptr && lineTransform->getTransformPixelType() == PT_CMYK) {
Guchar* tmp = (Guchar *)gmallocn(4 * length, sizeof(Guchar));
transform->doTransform(in,tmp,length);
Guchar *p = tmp;
@@ -2282,7 +2281,7 @@
*out++ = 0;
}
gfree(tmp);
- } else if (lineTransform != NULL && nComps != 4) {
+ } else if (lineTransform != nullptr && nComps != 4) {
GfxColorComp c, m, y, k;
Guchar* tmp = (Guchar *)gmallocn(3 * length, sizeof(Guchar));
getRGBLine(in, tmp, length);
@@ -2317,7 +2316,7 @@
void GfxICCBasedColorSpace::getCMYK(GfxColor *color, GfxCMYK *cmyk) {
#ifdef USE_CMS
- if (transform != NULL && transform->getTransformPixelType() == PT_CMYK) {
+ if (transform != nullptr && transform->getTransformPixelType() == PT_CMYK) {
Guchar in[gfxColorMaxComps];
Guchar out[gfxColorMaxComps];
@@ -2358,7 +2357,7 @@
unsigned int value = (out[0] << 24) + (out[1] << 16) + (out[2] << 8) + out[3];
cmsCache.insert(std::pair<unsigned int, unsigned int>(key, value));
}
- } else if (nComps != 4 && transform != NULL && transform->getTransformPixelType() == PT_RGB) {
+ } else if (nComps != 4 && transform != nullptr && transform->getTransformPixelType() == PT_RGB) {
GfxRGB rgb;
GfxColorComp c, m, y, k;
@@ -2387,7 +2386,7 @@
GBool GfxICCBasedColorSpace::useGetRGBLine() {
#ifdef USE_CMS
- return lineTransform != NULL || alt->useGetRGBLine();
+ return lineTransform != nullptr || alt->useGetRGBLine();
#else
return alt->useGetRGBLine();
#endif
@@ -2395,7 +2394,7 @@
GBool GfxICCBasedColorSpace::useGetCMYKLine() {
#ifdef USE_CMS
- return lineTransform != NULL || alt->useGetCMYKLine();
+ return lineTransform != nullptr || alt->useGetCMYKLine();
#else
return alt->useGetCMYKLine();
#endif
@@ -2403,7 +2402,7 @@
GBool GfxICCBasedColorSpace::useGetDeviceNLine() {
#ifdef USE_CMS
- return lineTransform != NULL || alt->useGetDeviceNLine();
+ return lineTransform != nullptr || alt->useGetDeviceNLine();
#else
return alt->useGetDeviceNLine();
#endif
@@ -2722,13 +2721,13 @@
delete name;
delete alt;
delete func;
- if (mapping != NULL)
+ if (mapping != nullptr)
gfree(mapping);
}
GfxColorSpace *GfxSeparationColorSpace::copy() {
- int *mappingA = NULL;
- if (mapping != NULL) {
+ int *mappingA = nullptr;
+ if (mapping != nullptr) {
mappingA = (int *) gmalloc(sizeof(int));
*mappingA = *mapping;
}
@@ -2857,7 +2856,7 @@
void GfxSeparationColorSpace::getDeviceN(GfxColor *color, GfxColor *deviceN) {
for (int i = 0; i < gfxColorMaxComps; i++)
deviceN->c[i] = 0;
- if (mapping == NULL || mapping[0] == -1) {
+ if (mapping == nullptr || mapping[0] == -1) {
GfxCMYK cmyk;
getCMYK(color, &cmyk);
@@ -2900,7 +2899,7 @@
error(errSyntaxWarning, -1,
"Different functions found for '{0:t}', convert immediately", name);
gfree(mapping);
- mapping = NULL;
+ mapping = nullptr;
return;
}
*mapping = i+4;
@@ -2913,7 +2912,7 @@
error(errSyntaxWarning, -1,
"Too many ({0:d}) spots, convert '{1:t}' immediately", maxSepComps, name);
gfree(mapping);
- mapping = NULL;
+ mapping = nullptr;
return;
}
*mapping = separationList->getLength() + 4;
@@ -2940,7 +2939,7 @@
sepsCS = sepsCSA;
nonMarking = gTrue;
overprintMask = 0;
- mapping = NULL;
+ mapping = nullptr;
for (i = 0; i < nComps; ++i) {
names[i] = namesA[i];
if (names[i]->cmp("None")) {
@@ -2993,22 +2992,22 @@
delete alt;
delete func;
deleteGooList(sepsCS, GfxSeparationColorSpace);
- if (mapping != NULL)
+ if (mapping != nullptr)
gfree(mapping);
}
GfxColorSpace *GfxDeviceNColorSpace::copy() {
int i;
- int *mappingA = NULL;
+ int *mappingA = nullptr;
GooList *sepsCSA = new GooList(sepsCS->getLength());
for (i = 0; i < sepsCS->getLength(); i++) {
GfxSeparationColorSpace *scs = (GfxSeparationColorSpace *) sepsCS->get(i);
- if (likely(scs != NULL)) {
+ if (likely(scs != nullptr)) {
sepsCSA->append(scs->copy());
}
}
- if (mapping != NULL) {
+ if (mapping != nullptr) {
mappingA = (int *)gmalloc(sizeof(int) * nComps);
for (i = 0; i < nComps; i++)
mappingA[i] = mapping[i];
@@ -3092,7 +3091,7 @@
}
err1:
delete separationList;
- return NULL;
+ return nullptr;
}
void GfxDeviceNColorSpace::getGray(GfxColor *color, GfxGray *gray) {
@@ -3143,7 +3142,7 @@
void GfxDeviceNColorSpace::getDeviceN(GfxColor *color, GfxColor *deviceN) {
for (int i = 0; i < gfxColorMaxComps; i++)
deviceN->c[i] = 0;
- if (mapping == NULL) {
+ if (mapping == nullptr) {
GfxCMYK cmyk;
getCMYK(color, &cmyk);
@@ -3189,7 +3188,7 @@
} else {
Guint startOverprintMask = 0x10;
GBool found = gFalse;
- Function *sepFunc = NULL;
+ Function *sepFunc = nullptr;
if (nComps == 1)
sepFunc = func;
else {
@@ -3204,11 +3203,11 @@
for (int j = 0; j < separationList->getLength(); j++) {
GfxSeparationColorSpace *sepCS = (GfxSeparationColorSpace *)separationList->get(j);
if (!sepCS->getName()->cmp(names[i])) {
- if (sepFunc != NULL && sepCS->getFunc()->hasDifferentResultSet(sepFunc)) {
+ if (sepFunc != nullptr && sepCS->getFunc()->hasDifferentResultSet(sepFunc)) {
error(errSyntaxWarning, -1,
"Different functions found for '{0:t}', convert immediately", names[i]);
gfree(mapping);
- mapping = NULL;
+ mapping = nullptr;
overprintMask = 0xffffffff;
return;
}
@@ -3224,7 +3223,7 @@
error(errSyntaxWarning, -1,
"Too many ({0:d}) spots, convert '{1:t}' immediately", maxSepComps, names[i]);
gfree(mapping);
- mapping = NULL;
+ mapping = nullptr;
overprintMask = 0xffffffff;
return;
}
@@ -3244,7 +3243,7 @@
if(!found) {
error(errSyntaxWarning, -1, "DeviceN has no suitable colorant");
gfree(mapping);
- mapping = NULL;
+ mapping = nullptr;
overprintMask = 0xffffffff;
return;
}
@@ -3271,7 +3270,7 @@
GfxColorSpace *GfxPatternColorSpace::copy() {
return new GfxPatternColorSpace(under ? under->copy() :
- (GfxColorSpace *)NULL);
+ (GfxColorSpace *)nullptr);
}
GfxColorSpace *GfxPatternColorSpace::parse(GfxResources *res, Array *arr, OutputDev *out, GfxState *state, int recursion) {
@@ -3281,14 +3280,14 @@
if (arr->getLength() != 1 && arr->getLength() != 2) {
error(errSyntaxWarning, -1, "Bad Pattern color space");
- return NULL;
+ return nullptr;
}
- underA = NULL;
+ underA = nullptr;
if (arr->getLength() == 2) {
obj1 = arr->get(1);
if (!(underA = GfxColorSpace::parse(res, &obj1, out, state, recursion + 1))) {
error(errSyntaxWarning, -1, "Bad Pattern color space (underlying color space)");
- return NULL;
+ return nullptr;
}
}
cs = new GfxPatternColorSpace(underA);
@@ -3343,7 +3342,7 @@
} else {
return nullptr;
}
- pattern = NULL;
+ pattern = nullptr;
if (obj1.isInt() && obj1.getInt() == 1) {
pattern = GfxTilingPattern::parse(obj, patternRefNum);
} else if (obj1.isInt() && obj1.getInt() == 2) {
@@ -3366,7 +3365,7 @@
int i;
if (!patObj->isStream()) {
- return NULL;
+ return nullptr;
}
dict = patObj->streamGetDict();
@@ -3474,7 +3473,7 @@
int i;
if (!patObj->isDict()) {
- return NULL;
+ return nullptr;
}
dict = patObj->getDict();
@@ -3481,7 +3480,7 @@
obj1 = dict->lookup("Shading");
shadingA = GfxShading::parse(res, &obj1, out, state);
if (!shadingA) {
- return NULL;
+ return nullptr;
}
matrixA[0] = 1; matrixA[1] = 0;
@@ -3525,7 +3524,7 @@
GfxShading::GfxShading(int typeA) {
type = typeA;
- colorSpace = NULL;
+ colorSpace = nullptr;
}
GfxShading::GfxShading(GfxShading *shading) {
@@ -3561,13 +3560,13 @@
} else if (obj->isStream()) {
dict = obj->streamGetDict();
} else {
- return NULL;
+ return nullptr;
}
obj1 = dict->lookup("ShadingType");
if (!obj1.isInt()) {
error(errSyntaxWarning, -1, "Invalid ShadingType in shading dictionary");
- return NULL;
+ return nullptr;
}
typeA = obj1.getInt();
@@ -3621,7 +3620,7 @@
return shading;
err1:
- return NULL;
+ return nullptr;
}
GBool GfxShading::init(GfxResources *res, Dict *dict, OutputDev *out, GfxState *state) {
@@ -3742,11 +3741,17 @@
x1A = y1A = 1;
obj1 = dict->lookup("Domain");
if (obj1.isArray() && obj1.arrayGetLength() == 4) {
+ bool decodeOk = true;
Object obj2;
- x0A = (obj2 = obj1.arrayGet(0), obj2.getNum());
- x1A = (obj2 = obj1.arrayGet(1), obj2.getNum());
- y0A = (obj2 = obj1.arrayGet(2), obj2.getNum());
- y1A = (obj2 = obj1.arrayGet(3), obj2.getNum());
+ x0A = (obj2 = obj1.arrayGet(0), obj2.getNum(&decodeOk));
+ x1A = (obj2 = obj1.arrayGet(1), obj2.getNum(&decodeOk));
+ y0A = (obj2 = obj1.arrayGet(2), obj2.getNum(&decodeOk));
+ y1A = (obj2 = obj1.arrayGet(3), obj2.getNum(&decodeOk));
+
+ if (!decodeOk) {
+ error(errSyntaxWarning, -1, "Invalid Domain array in function shading dictionary");
+ return nullptr;
+ }
}
matrixA[0] = 1; matrixA[1] = 0;
@@ -3754,13 +3759,19 @@
matrixA[4] = 0; matrixA[5] = 0;
obj1 = dict->lookup("Matrix");
if (obj1.isArray() && obj1.arrayGetLength() == 6) {
+ bool decodeOk = true;
Object obj2;
- matrixA[0] = (obj2 = obj1.arrayGet(0), obj2.getNum());
- matrixA[1] = (obj2 = obj1.arrayGet(1), obj2.getNum());
- matrixA[2] = (obj2 = obj1.arrayGet(2), obj2.getNum());
- matrixA[3] = (obj2 = obj1.arrayGet(3), obj2.getNum());
- matrixA[4] = (obj2 = obj1.arrayGet(4), obj2.getNum());
- matrixA[5] = (obj2 = obj1.arrayGet(5), obj2.getNum());
+ matrixA[0] = (obj2 = obj1.arrayGet(0), obj2.getNum(&decodeOk));
+ matrixA[1] = (obj2 = obj1.arrayGet(1), obj2.getNum(&decodeOk));
+ matrixA[2] = (obj2 = obj1.arrayGet(2), obj2.getNum(&decodeOk));
+ matrixA[3] = (obj2 = obj1.arrayGet(3), obj2.getNum(&decodeOk));
+ matrixA[4] = (obj2 = obj1.arrayGet(4), obj2.getNum(&decodeOk));
+ matrixA[5] = (obj2 = obj1.arrayGet(5), obj2.getNum(&decodeOk));
+
+ if (!decodeOk) {
+ error(errSyntaxWarning, -1, "Invalid Matrix array in function shading dictionary");
+ return nullptr;
+ }
}
obj1 = dict->lookup("Function");
@@ -3787,7 +3798,7 @@
funcsA, nFuncsA);
if (!shading->init(res, dict, out, state)) {
delete shading;
- return NULL;
+ return nullptr;
}
return shading;
}
@@ -3838,9 +3849,9 @@
cacheSize = 0;
lastMatch = 0;
- cacheBounds = NULL;
- cacheCoeff = NULL;
- cacheValues = NULL;
+ cacheBounds = nullptr;
+ cacheCoeff = nullptr;
+ cacheValues = nullptr;
}
GfxUnivariateShading::GfxUnivariateShading(GfxUnivariateShading *shading):
@@ -3859,9 +3870,9 @@
cacheSize = 0;
lastMatch = 0;
- cacheBounds = NULL;
- cacheCoeff = NULL;
- cacheValues = NULL;
+ cacheBounds = nullptr;
+ cacheCoeff = nullptr;
+ cacheValues = nullptr;
}
GfxUnivariateShading::~GfxUnivariateShading() {
@@ -3876,7 +3887,6 @@
void GfxUnivariateShading::getColor(double t, GfxColor *color) {
double out[gfxColorMaxComps];
- int i;
// NB: there can be one function with n outputs or n functions with
// one output each (where n = number of color components)
@@ -3906,14 +3916,14 @@
u = cacheValues + lastMatch * nComps;
l = u - nComps;
- for (i = 0; i < nComps; ++i) {
+ for (int i = 0; i < nComps; ++i) {
out[i] = ix * l[i] + x * u[i];
}
} else {
- for (i = 0; i < nComps; ++i) {
+ for (int i = 0; i < nComps; ++i) {
out[i] = 0;
}
- for (i = 0; i < nFuncs; ++i) {
+ for (int i = 0; i < nFuncs; ++i) {
if (funcs[i]->getInputSize() != 1) {
error(errSyntaxWarning, -1, "Invalid shading function (input != 1)");
break;
@@ -3922,7 +3932,7 @@
}
}
- for (i = 0; i < nComps; ++i) {
+ for (int i = 0; i < nComps; ++i) {
color->c[i] = dblToCol(out[i]);
}
}
@@ -3934,7 +3944,7 @@
int i, j, nComps, maxSize;
gfree (cacheBounds);
- cacheBounds = NULL;
+ cacheBounds = nullptr;
cacheSize = 0;
if (unlikely(nFuncs < 1))
@@ -4240,12 +4250,13 @@
obj1 = dict->lookup("Coords");
if (obj1.isArray() && obj1.arrayGetLength() == 6) {
Object obj2;
- x0A = (obj2 = obj1.arrayGet(0), obj2.getNum());
- y0A = (obj2 = obj1.arrayGet(1), obj2.getNum());
- r0A = (obj2 = obj1.arrayGet(2), obj2.getNum());
- x1A = (obj2 = obj1.arrayGet(3), obj2.getNum());
- y1A = (obj2 = obj1.arrayGet(4), obj2.getNum());
- r1A = (obj2 = obj1.arrayGet(5), obj2.getNum());
+ bool dummy; // just so that we can use the getNum that returns 0 on obj2 not being a num instead of aborting
+ x0A = (obj2 = obj1.arrayGet(0), obj2.getNum(&dummy));
+ y0A = (obj2 = obj1.arrayGet(1), obj2.getNum(&dummy));
+ r0A = (obj2 = obj1.arrayGet(2), obj2.getNum(&dummy));
+ x1A = (obj2 = obj1.arrayGet(3), obj2.getNum(&dummy));
+ y1A = (obj2 = obj1.arrayGet(4), obj2.getNum(&dummy));
+ r1A = (obj2 = obj1.arrayGet(5), obj2.getNum(&dummy));
} else {
error(errSyntaxWarning, -1, "Missing or invalid Coords in shading dictionary");
return nullptr;
@@ -4256,8 +4267,8 @@
obj1 = dict->lookup("Domain");
if (obj1.isArray() && obj1.arrayGetLength() == 2) {
Object obj2;
- t0A = (obj2 = obj1.arrayGet(0), obj2.getNum());
- t1A = (obj2 = obj1.arrayGet(1), obj2.getNum());
+ t0A = (obj2 = obj1.arrayGet(0), obj2.isNum() ? obj2.getNum() : 0);
+ t1A = (obj2 = obj1.arrayGet(1), obj2.isNum() ? obj2.getNum() : 1);
}
obj1 = dict->lookup("Function");
@@ -4284,8 +4295,8 @@
obj1 = dict->lookup("Extend");
if (obj1.isArray() && obj1.arrayGetLength() == 2) {
Object obj2;
- extend0A = (obj2 = obj1.arrayGet(0), obj2.getBool());
- extend1A = (obj2 = obj1.arrayGet(1), obj2.getBool());
+ extend0A = (obj2 = obj1.arrayGet(0), obj2.isBool() ? obj2.getBool() : gFalse);
+ extend1A = (obj2 = obj1.arrayGet(1), obj2.isBool() ? obj2.getBool() : gFalse);
}
shading = new GfxRadialShading(x0A, y0A, r0A, x1A, y1A, r1A, t0A, t1A,
@@ -4292,7 +4303,7 @@
funcsA, nFuncsA, extend0A, extend1A);
if (!shading->init(res, dict, out, state)) {
delete shading;
- return NULL;
+ return nullptr;
}
return shading;
}
@@ -4619,6 +4630,8 @@
GfxShadingBitBuf(Stream *strA);
~GfxShadingBitBuf();
+ GfxShadingBitBuf(const GfxShadingBitBuf &) = delete;
+ GfxShadingBitBuf& operator=(const GfxShadingBitBuf &) = delete;
GBool getBits(int n, Guint *val);
void flushBits();
@@ -4784,18 +4797,24 @@
obj1 = dict->lookup("Decode");
if (obj1.isArray() && obj1.arrayGetLength() >= 6) {
Object obj2;
- xMin = (obj2 = obj1.arrayGet(0), obj2.getNum());
- xMax = (obj2 = obj1.arrayGet(1), obj2.getNum());
+ bool decodeOk = true;
+ xMin = (obj2 = obj1.arrayGet(0), obj2.getNum(&decodeOk));
+ xMax = (obj2 = obj1.arrayGet(1), obj2.getNum(&decodeOk));
xMul = (xMax - xMin) / (pow(2.0, coordBits) - 1);
- yMin = (obj2 = obj1.arrayGet(2), obj2.getNum());
- yMax = (obj2 = obj1.arrayGet(3), obj2.getNum());
+ yMin = (obj2 = obj1.arrayGet(2), obj2.getNum(&decodeOk));
+ yMax = (obj2 = obj1.arrayGet(3), obj2.getNum(&decodeOk));
yMul = (yMax - yMin) / (pow(2.0, coordBits) - 1);
for (i = 0; 5 + 2*i < obj1.arrayGetLength() && i < gfxColorMaxComps; ++i) {
- cMin[i] = (obj2 = obj1.arrayGet(4 + 2*i), obj2.getNum());
- cMax[i] = (obj2 = obj1.arrayGet(5 + 2*i), obj2.getNum());
+ cMin[i] = (obj2 = obj1.arrayGet(4 + 2*i), obj2.getNum(&decodeOk));
+ cMax[i] = (obj2 = obj1.arrayGet(5 + 2*i), obj2.getNum(&decodeOk));
cMul[i] = (cMax[i] - cMin[i]) / (double)((1 << compBits) - 1);
}
nComps = i;
+
+ if (!decodeOk) {
+ error(errSyntaxWarning, -1, "Missing or invalid Decode array in shading dictionary");
+ return nullptr;
+ }
} else {
error(errSyntaxWarning, -1, "Missing or invalid Decode array in shading dictionary");
return nullptr;
@@ -4826,8 +4845,8 @@
}
nVerticesA = nTrianglesA = 0;
- verticesA = NULL;
- trianglesA = NULL;
+ verticesA = nullptr;
+ trianglesA = nullptr;
vertSize = triSize = 0;
state = 0;
flag = 0; // make gcc happy
@@ -4919,7 +4938,7 @@
funcsA, nFuncsA);
if (!shading->init(res, dict, out, gfxState)) {
delete shading;
- return NULL;
+ return nullptr;
}
return shading;
}
@@ -5157,7 +5176,7 @@
}
nPatchesA = 0;
- patchesA = NULL;
+ patchesA = nullptr;
patchesSize = 0;
bitBuf = new GfxShadingBitBuf(str);
while (1) {
@@ -5640,10 +5659,10 @@
// initialize
for (k = 0; k < gfxColorMaxComps; ++k) {
- lookup[k] = NULL;
- lookup2[k] = NULL;
+ lookup[k] = nullptr;
+ lookup2[k] = nullptr;
}
- byte_lookup = NULL;
+ byte_lookup = nullptr;
// get decode map
if (decode->isNull()) {
@@ -5689,7 +5708,7 @@
// Optimization: for Indexed and Separation color spaces (which have
// only one component), we pre-compute a second lookup table with
// color values
- colorSpace2 = NULL;
+ colorSpace2 = nullptr;
nComps2 = 0;
useByteLookup = gFalse;
switch (colorSpace->getMode()) {
@@ -5786,9 +5805,9 @@
nComps2 = colorMap->nComps2;
useMatte = colorMap->useMatte;
matteColor = colorMap->matteColor;
- colorSpace2 = NULL;
+ colorSpace2 = nullptr;
for (k = 0; k < gfxColorMaxComps; ++k) {
- lookup[k] = NULL;
+ lookup[k] = nullptr;
}
n = 1 << bits;
if (colorSpace->getMode() == csIndexed) {
@@ -6090,7 +6109,6 @@
}
void GfxImageColorMap::getDeviceNLine(Guchar *in, Guchar *out, int length) {
- int i, j;
Guchar *inp, *tmp_line;
if (!useDeviceNLine()) {
@@ -6097,7 +6115,7 @@
GfxColor deviceN;
inp = in;
- for (i = 0; i < length; i++) {
+ for (int i = 0; i < length; i++) {
getDeviceN (inp, &deviceN);
for (int j = 0; j < SPOT_NCOMPS+4; j++)
*out++ = deviceN.c[j];
@@ -6110,8 +6128,8 @@
case csIndexed:
case csSeparation:
tmp_line = (Guchar *) gmallocn (length, nComps2);
- for (i = 0; i < length; i++) {
- for (j = 0; j < nComps2; j++) {
+ for (int i = 0; i < length; i++) {
+ for (int j = 0; j < nComps2; j++) {
tmp_line[i * nComps2 + j] = byte_lookup[in[i] * nComps2 + j];
}
}
@@ -6121,8 +6139,8 @@
default:
inp = in;
- for (j = 0; j < length; j++)
- for (i = 0; i < nComps; i++) {
+ for (int j = 0; j < length; j++)
+ for (int i = 0; i < nComps; i++) {
*inp = byte_lookup[*inp * nComps + i];
inp++;
}
@@ -6375,12 +6393,12 @@
//------------------------------------------------------------------------
//
//------------------------------------------------------------------------
-GfxState::ReusablePathIterator::ReusablePathIterator(GfxPath *path)
- : path(path),
+GfxState::ReusablePathIterator::ReusablePathIterator(GfxPath *pathA)
+ : path(pathA),
subPathOff(0),
coordOff(0),
numCoords(0),
- curSubPath(NULL)
+ curSubPath(nullptr)
{
if( path->getNumSubpaths() ) {
curSubPath = path->getSubpath(subPathOff);
@@ -6471,8 +6489,8 @@
strokeColorSpace = new GfxDeviceGrayColorSpace();
fillColor.c[0] = 0;
strokeColor.c[0] = 0;
- fillPattern = NULL;
- strokePattern = NULL;
+ fillPattern = nullptr;
+ strokePattern = nullptr;
blendMode = gfxBlendNormal;
fillOpacity = 1;
strokeOpacity = 1;
@@ -6479,10 +6497,10 @@
fillOverprint = gFalse;
strokeOverprint = gFalse;
overprintMode = 0;
- transfer[0] = transfer[1] = transfer[2] = transfer[3] = NULL;
+ transfer[0] = transfer[1] = transfer[2] = transfer[3] = nullptr;
lineWidth = 1;
- lineDash = NULL;
+ lineDash = nullptr;
lineDashLength = 0;
lineDashStart = 0;
flatness = 1;
@@ -6493,7 +6511,7 @@
alphaIsShape = gFalse;
textKnockout = gFalse;
- font = NULL;
+ font = nullptr;
fontSize = 0;
textMat[0] = 1; textMat[1] = 0;
textMat[2] = 0; textMat[3] = 1;
@@ -6516,14 +6534,14 @@
renderingIntent[0] = 0;
- saved = NULL;
+ saved = nullptr;
#ifdef USE_CMS
GfxColorSpace::setupColorProfiles();
- XYZ2DisplayTransformRelCol = NULL;
- XYZ2DisplayTransformAbsCol = NULL;
- XYZ2DisplayTransformSat = NULL;
- XYZ2DisplayTransformPerc = NULL;
- localDisplayProfile = NULL;
+ XYZ2DisplayTransformRelCol = nullptr;
+ XYZ2DisplayTransformAbsCol = nullptr;
+ XYZ2DisplayTransformSat = nullptr;
+ XYZ2DisplayTransformPerc = nullptr;
+ localDisplayProfile = nullptr;
displayProfileRef = 0;
#endif
}
@@ -6573,7 +6591,7 @@
if (XYZ2DisplayTransformPerc->unref() == 0)
delete XYZ2DisplayTransformPerc;
}
- if (--displayProfileRef == 0 && localDisplayProfile != NULL) {
+ if (--displayProfileRef == 0 && localDisplayProfile != nullptr) {
cmsCloseProfile(localDisplayProfile);
}
#endif
@@ -6611,7 +6629,7 @@
if (copyPath) {
path = state->path->copy();
}
- saved = NULL;
+ saved = nullptr;
#ifdef USE_CMS
if (XYZ2DisplayTransformRelCol) {
XYZ2DisplayTransformRelCol->ref();
@@ -6633,11 +6651,11 @@
#ifdef USE_CMS
void GfxState::setDisplayProfile(cmsHPROFILE localDisplayProfileA) {
- if (localDisplayProfile != NULL) {
+ if (localDisplayProfile != nullptr) {
cmsCloseProfile(localDisplayProfile);
}
localDisplayProfile = localDisplayProfileA;
- if (localDisplayProfileA != NULL) {
+ if (localDisplayProfileA != nullptr) {
cmsHTRANSFORM transform;
unsigned int nChannels;
unsigned int localDisplayPixelType;
@@ -6651,7 +6669,7 @@
localDisplayProfile,
COLORSPACE_SH(localDisplayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
- INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ INTENT_RELATIVE_COLORIMETRIC,LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
XYZ2DisplayTransformRelCol = new GfxColorTransform(transform, INTENT_RELATIVE_COLORIMETRIC, PT_XYZ, localDisplayPixelType);
@@ -6660,7 +6678,7 @@
localDisplayProfile,
COLORSPACE_SH(localDisplayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
- INTENT_ABSOLUTE_COLORIMETRIC,LCMS_FLAGS)) == 0) {
+ INTENT_ABSOLUTE_COLORIMETRIC,LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
XYZ2DisplayTransformAbsCol = new GfxColorTransform(transform, INTENT_ABSOLUTE_COLORIMETRIC, PT_XYZ, localDisplayPixelType);
@@ -6669,7 +6687,7 @@
localDisplayProfile,
COLORSPACE_SH(localDisplayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
- INTENT_SATURATION,LCMS_FLAGS)) == 0) {
+ INTENT_SATURATION,LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
XYZ2DisplayTransformSat = new GfxColorTransform(transform, INTENT_SATURATION, PT_XYZ, localDisplayPixelType);
@@ -6678,7 +6696,7 @@
localDisplayProfile,
COLORSPACE_SH(localDisplayPixelType) |
CHANNELS_SH(nChannels) | BYTES_SH(1),
- INTENT_PERCEPTUAL,LCMS_FLAGS)) == 0) {
+ INTENT_PERCEPTUAL,LCMS_FLAGS)) == nullptr) {
error(errSyntaxWarning, -1, "Can't create Lab transform");
} else {
XYZ2DisplayTransformPerc = new GfxColorTransform(transform, INTENT_PERCEPTUAL, PT_XYZ, localDisplayPixelType);
@@ -6698,7 +6716,7 @@
} else if (strcmp(renderingIntent, "Perceptual") == 0) {
transform = XYZ2DisplayTransformPerc;
}
- if (transform == NULL) {
+ if (transform == nullptr) {
transform = XYZ2DisplayTransform;
}
return transform;
@@ -7084,8 +7102,8 @@
oldState->lineX = lineX;
oldState->lineY = lineY;
- path = NULL;
- saved = NULL;
+ path = nullptr;
+ saved = nullptr;
delete this;
} else {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GfxState.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -17,7 +17,7 @@
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2006 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2009 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2009-2011, 2013, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2011, 2013, 2016-2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
// Copyright (C) 2011 Andrea Canciani <ranma42 at gmail.com>
// Copyright (C) 2011-2014, 2016 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -196,6 +196,8 @@
// transformA should be a cmsHTRANSFORM
GfxColorTransform(void *transformA, int cmsIntent, unsigned int inputPixelType, unsigned int transformPixelType);
~GfxColorTransform();
+ GfxColorTransform(const GfxColorTransform &) = delete;
+ GfxColorTransform& operator=(const GfxColorTransform &) = delete;
int getIntent() { return cmsIntent; }
int getInputPixelType() { return inputPixelType; }
int getTransformPixelType() { return transformPixelType; }
@@ -215,6 +217,10 @@
GfxColorSpace();
virtual ~GfxColorSpace();
+
+ GfxColorSpace(const GfxColorSpace &) = delete;
+ GfxColorSpace& operator=(const GfxColorSpace &other) = delete;
+
virtual GfxColorSpace *copy() = 0;
virtual GfxColorSpaceMode getMode() = 0;
@@ -766,6 +772,9 @@
GfxPattern(int typeA, int patternRefNumA);
virtual ~GfxPattern();
+ GfxPattern(const GfxPattern &) = delete;
+ GfxPattern& operator=(const GfxPattern &other) = delete;
+
static GfxPattern *parse(GfxResources *res, Object *obj, OutputDev *out, GfxState *state, int patternRefNum);
virtual GfxPattern *copy() = 0;
@@ -852,6 +861,9 @@
GfxShading(GfxShading *shading);
virtual ~GfxShading();
+ GfxShading(const GfxShading &) = delete;
+ GfxShading& operator=(const GfxShading &other) = delete;
+
static GfxShading *parse(GfxResources *res, Object *obj, OutputDev *out, GfxState *state);
virtual GfxShading *copy() = 0;
@@ -1175,6 +1187,9 @@
// Destructor.
~GfxImageColorMap();
+ GfxImageColorMap(const GfxImageColorMap &) = delete;
+ GfxImageColorMap& operator=(const GfxImageColorMap &) = delete;
+
// Return a copy of this color map.
GfxImageColorMap *copy() { return new GfxImageColorMap(this); }
@@ -1248,6 +1263,9 @@
// Destructor.
~GfxSubpath();
+ GfxSubpath(const GfxSubpath &) = delete;
+ GfxSubpath& operator=(const GfxSubpath &) = delete;
+
// Copy.
GfxSubpath *copy() { return new GfxSubpath(this); }
@@ -1299,6 +1317,9 @@
// Destructor.
~GfxPath();
+ GfxPath(const GfxPath &) = delete;
+ GfxPath& operator=(const GfxPath &) = delete;
+
// Copy.
GfxPath *copy()
{ return new GfxPath(justMoved, firstX, firstY, subpaths, n, size); }
@@ -1419,6 +1440,9 @@
// Destructor.
~GfxState();
+ GfxState(const GfxState &) = delete;
+ GfxState& operator=(const GfxState &) = delete;
+
// Copy.
GfxState *copy(GBool copyPath = gFalse)
{ return new GfxState(this, copyPath); }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -15,7 +15,7 @@
//
// Copyright (C) 2005 Martin Kretzschmar <martink at gnome.org>
// Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
// Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
// Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
@@ -127,7 +127,7 @@
//------------------------------------------------------------------------
-GlobalParams *globalParams = NULL;
+GlobalParams *globalParams = nullptr;
#if defined(ENABLE_RELOCATABLE) && defined(_WIN32)
@@ -210,6 +210,8 @@
SysFontInfo(GooString *nameA, GBool boldA, GBool italicA, GBool obliqueA, GBool fixedWidthA,
GooString *pathA, SysFontType typeA, int fontNumA, GooString *substituteNameA);
~SysFontInfo();
+ SysFontInfo(const SysFontInfo &) = delete;
+ SysFontInfo& operator=(const SysFontInfo&) = delete;
GBool match(SysFontInfo *fi);
GBool match(GooString *nameA, GBool boldA, GBool italicA, GBool obliqueA, GBool fixedWidthA);
GBool match(GooString *nameA, GBool boldA, GBool italicA);
@@ -258,6 +260,8 @@
SysFontList();
~SysFontList();
+ SysFontList(const SysFontList &) = delete;
+ SysFontList& operator=(const SysFontList &) = delete;
SysFontInfo *find(GooString *name, GBool isFixedWidth, GBool exact);
#ifdef _WIN32
@@ -363,13 +367,13 @@
}
// search for the font
- fi = NULL;
+ fi = nullptr;
for (i = 0; i < fonts->getLength(); ++i) {
fi = (SysFontInfo *)fonts->get(i);
if (fi->match(name2, bold, italic, oblique, fixedWidth)) {
break;
}
- fi = NULL;
+ fi = nullptr;
}
if (!fi && !exact && bold) {
// try ignoring the bold flag
@@ -378,7 +382,7 @@
if (fi->match(name2, gFalse, italic)) {
break;
}
- fi = NULL;
+ fi = nullptr;
}
}
if (!fi && !exact && (bold || italic)) {
@@ -388,7 +392,7 @@
if (fi->match(name2, gFalse, gFalse)) {
break;
}
- fi = NULL;
+ fi = nullptr;
}
}
@@ -648,7 +652,7 @@
snprintf(dataPathBuffer, bufSize, "%s/nameToUnicode", dataRoot);
dir = new GDir(dataPathBuffer, gTrue);
- while (entry = dir->getNextEntry(), entry != NULL) {
+ while (entry = dir->getNextEntry(), entry != nullptr) {
if (!entry->isDir()) {
parseNameToUnicode(entry->getFullPath());
}
@@ -658,7 +662,7 @@
snprintf(dataPathBuffer, bufSize, "%s/cidToUnicode", dataRoot);
dir = new GDir(dataPathBuffer, gFalse);
- while (entry = dir->getNextEntry(), entry != NULL) {
+ while (entry = dir->getNextEntry(), entry != nullptr) {
addCIDToUnicode(entry->getName(), entry->getFullPath());
delete entry;
}
@@ -666,7 +670,7 @@
snprintf(dataPathBuffer, bufSize, "%s/unicodeMap", dataRoot);
dir = new GDir(dataPathBuffer, gFalse);
- while (entry = dir->getNextEntry(), entry != NULL) {
+ while (entry = dir->getNextEntry(), entry != nullptr) {
addUnicodeMap(entry->getName(), entry->getFullPath());
delete entry;
}
@@ -674,7 +678,7 @@
snprintf(dataPathBuffer, bufSize, "%s/cMap", dataRoot);
dir = new GDir(dataPathBuffer, gFalse);
- while (entry = dir->getNextEntry(), entry != NULL) {
+ while (entry = dir->getNextEntry(), entry != nullptr) {
addCMapDir(entry->getName(), entry->getFullPath());
toUnicodeDirs->append(entry->getFullPath()->copy());
delete entry;
@@ -700,7 +704,7 @@
line = 1;
while (getLine(buf, sizeof(buf), f)) {
tok1 = strtok_r(buf, " \t\r\n", &tokptr);
- tok2 = strtok_r(NULL, " \t\r\n", &tokptr);
+ tok2 = strtok_r(nullptr, " \t\r\n", &tokptr);
if (tok1 && tok2) {
sscanf(tok1, "%x", &u);
nameToUnicodeText->add(tok2, u);
@@ -842,7 +846,7 @@
if ((fileName = (GooString *)unicodeMaps->lookup(encodingName))) {
f = openFile(fileName->getCString(), "r");
} else {
- f = NULL;
+ f = nullptr;
}
unlockGlobalParams;
return f;
@@ -858,7 +862,7 @@
lockGlobalParams;
if (!(list = (GooList *)cMapDirs->lookup(collection))) {
unlockGlobalParams;
- return NULL;
+ return nullptr;
}
for (i = 0; i < list->getLength(); ++i) {
dir = (GooString *)list->get(i);
@@ -871,7 +875,7 @@
}
}
unlockGlobalParams;
- return NULL;
+ return nullptr;
}
FILE *GlobalParams::findToUnicodeFile(GooString *name) {
@@ -891,7 +895,7 @@
}
}
unlockGlobalParams;
- return NULL;
+ return nullptr;
}
#ifdef WITH_FONTCONFIGURATION_FONTCONFIG
@@ -899,12 +903,12 @@
{
const char *match;
- if (name == NULL)
+ if (name == nullptr)
return gFalse;
match = strstr(name, modifier);
if (match) {
- if (*start == NULL || match < *start)
+ if (*start == nullptr || match < *start)
*start = match;
return gTrue;
}
@@ -961,10 +965,10 @@
FcPattern *p;
// this is all heuristics will be overwritten if font had proper info
- name = (base14Name == NULL) ? font->getName()->getCString() : base14Name->getCString();
+ name = (base14Name == nullptr) ? font->getName()->getCString() : base14Name->getCString();
modifiers = strchr (name, ',');
- if (modifiers == NULL)
+ if (modifiers == nullptr)
modifiers = strchr (name, '-');
// remove the - from the names, for some reason, Fontconfig does not
@@ -973,7 +977,7 @@
for (int i = 0; i < len; i++)
name[i] = (name[i] == '-' ? ' ' : name[i]);
- start = NULL;
+ start = nullptr;
findModifier(modifiers, "Regular", &start);
findModifier(modifiers, "Roman", &start);
@@ -1052,7 +1056,7 @@
const char *lang = getFontLang(font);
- p = FcPatternBuild(NULL,
+ p = FcPatternBuild(nullptr,
FC_FAMILY, FcTypeString, family,
FC_LANG, FcTypeString, lang,
NULL);
@@ -1070,7 +1074,7 @@
GooString *GlobalParams::findFontFile(GooString *fontName) {
GooString *path;
- setupBaseFonts(NULL);
+ setupBaseFonts(nullptr);
lockGlobalParams;
if ((path = (GooString *)fontFiles->lookup(fontName))) {
path = path->copy();
@@ -1078,7 +1082,7 @@
return path;
}
unlockGlobalParams;
- return NULL;
+ return nullptr;
}
/* if you can't or don't want to use Fontconfig, you need to implement
@@ -1093,18 +1097,18 @@
SysFontType type;
int fontNum;
- return findSystemFontFile(font, &type, &fontNum, NULL, base14Name);
+ return findSystemFontFile(font, &type, &fontNum, nullptr, base14Name);
}
GooString *GlobalParams::findSystemFontFile(GfxFont *font,
SysFontType *type,
int *fontNum, GooString *substituteFontName, GooString *base14Name) {
- SysFontInfo *fi = NULL;
- FcPattern *p=0;
- GooString *path = NULL;
+ SysFontInfo *fi = nullptr;
+ FcPattern *p=nullptr;
+ GooString *path = nullptr;
GooString *fontName = font->getName();
GooString substituteName;
- if (!fontName) return NULL;
+ if (!fontName) return nullptr;
lockGlobalParams;
if ((fi = sysFonts->find(fontName, font->isFixedWidth(), gTrue))) {
@@ -1118,14 +1122,14 @@
FcResult res;
FcFontSet *set;
int i;
- FcLangSet *lb = NULL;
+ FcLangSet *lb = nullptr;
p = buildFcPattern(font, base14Name);
if (!p)
goto fin;
- FcConfigSubstitute(NULL, p, FcMatchPattern);
+ FcConfigSubstitute(nullptr, p, FcMatchPattern);
FcDefaultSubstitute(p);
- set = FcFontSort(NULL, p, FcFalse, NULL, &res);
+ set = FcFontSort(nullptr, p, FcFalse, nullptr, &res);
if (!set)
goto fin;
@@ -1141,7 +1145,7 @@
first: fonts support the language
second: all fonts (fall back)
*/
- while (fi == NULL)
+ while (fi == nullptr)
{
for (i = 0; i < set->nfont; ++i)
{
@@ -1148,7 +1152,7 @@
res = FcPatternGetString(set->fonts[i], FC_FILE, 0, &s);
if (res != FcResultMatch || !s)
continue;
- if (lb != NULL) {
+ if (lb != nullptr) {
FcLangSet *l;
res = FcPatternGetLangSet(set->fonts[i], FC_LANG, 0, &l);
if (res != FcResultMatch || !FcLangSetContains(l,lb)) {
@@ -1233,9 +1237,9 @@
continue;
break;
}
- if (lb != NULL) {
+ if (lb != nullptr) {
FcLangSetDestroy(lb);
- lb = NULL;
+ lb = nullptr;
} else {
/* scan all fonts of the list */
break;
@@ -1243,7 +1247,7 @@
}
FcFontSetDestroy(set);
}
- if (path == NULL && (fi = sysFonts->find(fontName, font->isFixedWidth(), gFalse))) {
+ if (path == nullptr && (fi = sysFonts->find(fontName, font->isFixedWidth(), gFalse))) {
path = fi->path->copy();
*type = fi->type;
*fontNum = fi->fontNum;
@@ -1467,7 +1471,7 @@
lockGlobalParams;
GooHashIter *iter;
unicodeToUnicodes->startIter(&iter);
- GooString *fileName = NULL;
+ GooString *fileName = nullptr;
GooString *fontPattern;
void *val;
while (!fileName && unicodeToUnicodes->getNext(&iter, &fontPattern, &val)) {
@@ -1476,7 +1480,7 @@
fileName = (GooString*)val;
}
}
- CharCodeToUnicode *ctu = NULL;
+ CharCodeToUnicode *ctu = nullptr;
if (fileName) {
ctu = unicodeToUnicodeCache->getCharCodeToUnicode(fileName);
if (!ctu) {
@@ -1666,7 +1670,7 @@
(void)name;
#endif
- return NULL;
+ return nullptr;
}
#ifdef ENABLE_PLUGINS
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParams.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
// Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
// Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
@@ -108,6 +108,9 @@
~GlobalParams();
+ GlobalParams(const GlobalParams &) = delete;
+ GlobalParams& operator=(const GlobalParams &) = delete;
+
void setupBaseFonts(char *dir);
//----- accessors
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParamsWin.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParamsWin.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/GlobalParamsWin.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -9,7 +9,7 @@
// Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
// Copyright (C) 2013 Dmytro Morgun <lztoad at gmail.com>
// Copyright (C) 2017 Christoph Cullmann <cullmann at kde.org>
- // Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
+ // Copyright (C) 2017, 2018 Albert Astals Cid <aacid at kde.org>
TODO: instead of a fixed mapping defined in displayFontTab, it could
scan the whole fonts directory, parse TTF files and build font
@@ -103,78 +103,78 @@
// those seem to be frequently accessed by PDF files and I kind of guess
// which font file do the refer to
- {"Palatino", NULL, "pala.ttf", gTrue},
- {"Palatino-Roman", NULL, "pala.ttf", gTrue},
- {"Palatino-Bold", NULL, "palab.ttf", gTrue},
- {"Palatino-Italic", NULL, "palai.ttf", gTrue},
- {"Palatino,Italic", NULL, "palai.ttf", gTrue},
- {"Palatino-BoldItalic", NULL, "palabi.ttf", gTrue},
+ {"Palatino", nullptr, "pala.ttf", gTrue},
+ {"Palatino-Roman", nullptr, "pala.ttf", gTrue},
+ {"Palatino-Bold", nullptr, "palab.ttf", gTrue},
+ {"Palatino-Italic", nullptr, "palai.ttf", gTrue},
+ {"Palatino,Italic", nullptr, "palai.ttf", gTrue},
+ {"Palatino-BoldItalic", nullptr, "palabi.ttf", gTrue},
- {"ArialBlack", NULL, "arialbd.ttf", gTrue},
+ {"ArialBlack", nullptr, "arialbd.ttf", gTrue},
- {"ArialNarrow", NULL, "arialn.ttf", gTrue},
- {"ArialNarrow,Bold", NULL, "arialnb.ttf", gTrue},
- {"ArialNarrow,Italic", NULL, "arialni.ttf", gTrue},
- {"ArialNarrow,BoldItalic", NULL, "arialnbi.ttf", gTrue},
- {"ArialNarrow-Bold", NULL, "arialnb.ttf", gTrue},
- {"ArialNarrow-Italic", NULL, "arialni.ttf", gTrue},
- {"ArialNarrow-BoldItalic", NULL, "arialnbi.ttf", gTrue},
+ {"ArialNarrow", nullptr, "arialn.ttf", gTrue},
+ {"ArialNarrow,Bold", nullptr, "arialnb.ttf", gTrue},
+ {"ArialNarrow,Italic", nullptr, "arialni.ttf", gTrue},
+ {"ArialNarrow,BoldItalic", nullptr, "arialnbi.ttf", gTrue},
+ {"ArialNarrow-Bold", nullptr, "arialnb.ttf", gTrue},
+ {"ArialNarrow-Italic", nullptr, "arialni.ttf", gTrue},
+ {"ArialNarrow-BoldItalic", nullptr, "arialnbi.ttf", gTrue},
- {"HelveticaNarrow", NULL, "arialn.ttf", gTrue},
- {"HelveticaNarrow,Bold", NULL, "arialnb.ttf", gTrue},
- {"HelveticaNarrow,Italic", NULL, "arialni.ttf", gTrue},
- {"HelveticaNarrow,BoldItalic", NULL, "arialnbi.ttf", gTrue},
- {"HelveticaNarrow-Bold", NULL, "arialnb.ttf", gTrue},
- {"HelveticaNarrow-Italic", NULL, "arialni.ttf", gTrue},
- {"HelveticaNarrow-BoldItalic", NULL, "arialnbi.ttf", gTrue},
+ {"HelveticaNarrow", nullptr, "arialn.ttf", gTrue},
+ {"HelveticaNarrow,Bold", nullptr, "arialnb.ttf", gTrue},
+ {"HelveticaNarrow,Italic", nullptr, "arialni.ttf", gTrue},
+ {"HelveticaNarrow,BoldItalic", nullptr, "arialnbi.ttf", gTrue},
+ {"HelveticaNarrow-Bold", nullptr, "arialnb.ttf", gTrue},
+ {"HelveticaNarrow-Italic", nullptr, "arialni.ttf", gTrue},
+ {"HelveticaNarrow-BoldItalic", nullptr, "arialnbi.ttf", gTrue},
- {"BookAntiqua", NULL, "bkant.ttf", gTrue},
- {"BookAntiqua,Bold", NULL, "bkant.ttf", gTrue},
- {"BookAntiqua,Italic", NULL, "bkant.ttf", gTrue},
- {"BookAntiqua,BoldItalic", NULL, "bkant.ttf", gTrue},
- {"BookAntiqua-Bold", NULL, "bkant.ttf", gTrue},
- {"BookAntiqua-Italic", NULL, "bkant.ttf", gTrue},
- {"BookAntiqua-BoldItalic", NULL, "bkant.ttf", gTrue},
+ {"BookAntiqua", nullptr, "bkant.ttf", gTrue},
+ {"BookAntiqua,Bold", nullptr, "bkant.ttf", gTrue},
+ {"BookAntiqua,Italic", nullptr, "bkant.ttf", gTrue},
+ {"BookAntiqua,BoldItalic", nullptr, "bkant.ttf", gTrue},
+ {"BookAntiqua-Bold", nullptr, "bkant.ttf", gTrue},
+ {"BookAntiqua-Italic", nullptr, "bkant.ttf", gTrue},
+ {"BookAntiqua-BoldItalic", nullptr, "bkant.ttf", gTrue},
- {"Verdana", NULL, "verdana.ttf", gTrue},
- {"Verdana,Bold", NULL, "verdanab.ttf", gTrue},
- {"Verdana,Italic", NULL, "verdanai.ttf", gTrue},
- {"Verdana,BoldItalic", NULL, "verdanaz.ttf", gTrue},
- {"Verdana-Bold", NULL, "verdanab.ttf", gTrue},
- {"Verdana-Italic", NULL, "verdanai.ttf", gTrue},
- {"Verdana-BoldItalic", NULL, "verdanaz.ttf", gTrue},
+ {"Verdana", nullptr, "verdana.ttf", gTrue},
+ {"Verdana,Bold", nullptr, "verdanab.ttf", gTrue},
+ {"Verdana,Italic", nullptr, "verdanai.ttf", gTrue},
+ {"Verdana,BoldItalic", nullptr, "verdanaz.ttf", gTrue},
+ {"Verdana-Bold", nullptr, "verdanab.ttf", gTrue},
+ {"Verdana-Italic", nullptr, "verdanai.ttf", gTrue},
+ {"Verdana-BoldItalic", nullptr, "verdanaz.ttf", gTrue},
- {"Tahoma", NULL, "tahoma.ttf", gTrue},
- {"Tahoma,Bold", NULL, "tahomabd.ttf", gTrue},
- {"Tahoma,Italic", NULL, "tahoma.ttf", gTrue},
- {"Tahoma,BoldItalic", NULL, "tahomabd.ttf", gTrue},
- {"Tahoma-Bold", NULL, "tahomabd.ttf", gTrue},
- {"Tahoma-Italic", NULL, "tahoma.ttf", gTrue},
- {"Tahoma-BoldItalic", NULL, "tahomabd.ttf", gTrue},
+ {"Tahoma", nullptr, "tahoma.ttf", gTrue},
+ {"Tahoma,Bold", nullptr, "tahomabd.ttf", gTrue},
+ {"Tahoma,Italic", nullptr, "tahoma.ttf", gTrue},
+ {"Tahoma,BoldItalic", nullptr, "tahomabd.ttf", gTrue},
+ {"Tahoma-Bold", nullptr, "tahomabd.ttf", gTrue},
+ {"Tahoma-Italic", nullptr, "tahoma.ttf", gTrue},
+ {"Tahoma-BoldItalic", nullptr, "tahomabd.ttf", gTrue},
- {"CCRIKH+Verdana", NULL, "verdana.ttf", gTrue},
- {"CCRIKH+Verdana,Bold", NULL, "verdanab.ttf", gTrue},
- {"CCRIKH+Verdana,Italic", NULL, "verdanai.ttf", gTrue},
- {"CCRIKH+Verdana,BoldItalic", NULL, "verdanaz.ttf", gTrue},
- {"CCRIKH+Verdana-Bold", NULL, "verdanab.ttf", gTrue},
- {"CCRIKH+Verdana-Italic", NULL, "verdanai.ttf", gTrue},
- {"CCRIKH+Verdana-BoldItalic", NULL, "verdanaz.ttf", gTrue},
+ {"CCRIKH+Verdana", nullptr, "verdana.ttf", gTrue},
+ {"CCRIKH+Verdana,Bold", nullptr, "verdanab.ttf", gTrue},
+ {"CCRIKH+Verdana,Italic", nullptr, "verdanai.ttf", gTrue},
+ {"CCRIKH+Verdana,BoldItalic", nullptr, "verdanaz.ttf", gTrue},
+ {"CCRIKH+Verdana-Bold", nullptr, "verdanab.ttf", gTrue},
+ {"CCRIKH+Verdana-Italic", nullptr, "verdanai.ttf", gTrue},
+ {"CCRIKH+Verdana-BoldItalic", nullptr, "verdanaz.ttf", gTrue},
- {"Georgia", NULL, "georgia.ttf", gTrue},
- {"Georgia,Bold", NULL, "georgiab.ttf", gTrue},
- {"Georgia,Italic", NULL, "georgiai.ttf", gTrue},
- {"Georgia,BoldItalic", NULL, "georgiaz.ttf", gTrue},
- {"Georgia-Bold", NULL, "georgiab.ttf", gTrue},
- {"Georgia-Italic", NULL, "georgiai.ttf", gTrue},
- {"Georgia-BoldItalic", NULL, "georgiaz.ttf", gTrue},
+ {"Georgia", nullptr, "georgia.ttf", gTrue},
+ {"Georgia,Bold", nullptr, "georgiab.ttf", gTrue},
+ {"Georgia,Italic", nullptr, "georgiai.ttf", gTrue},
+ {"Georgia,BoldItalic", nullptr, "georgiaz.ttf", gTrue},
+ {"Georgia-Bold", nullptr, "georgiab.ttf", gTrue},
+ {"Georgia-Italic", nullptr, "georgiai.ttf", gTrue},
+ {"Georgia-BoldItalic", nullptr, "georgiaz.ttf", gTrue},
// fallback for Adobe CID fonts:
- {"MingLiU", NULL, "mingliu.ttf", gFalse},
- {"SimSun", NULL, "simsun.ttf", gFalse},
- {"MS-Mincho", NULL, "msmincho.ttf", gFalse},
- {"Batang", NULL, "batang.ttf", gFalse},
- {"ArialUnicode", NULL, "arialuni.ttf", gTrue},
- {NULL}
+ {"MingLiU", nullptr, "mingliu.ttf", gFalse},
+ {"SimSun", nullptr, "simsun.ttf", gFalse},
+ {"MS-Mincho", nullptr, "msmincho.ttf", gFalse},
+ {"Batang", nullptr, "batang.ttf", gFalse},
+ {"ArialUnicode", nullptr, "arialuni.ttf", gTrue},
+ { }
};
#define FONTS_SUBDIR "\\fonts"
@@ -200,7 +200,7 @@
SHGetFolderPathFunc = (HRESULT (__stdcall *)(HWND, int, HANDLE, DWORD, LPSTR))
GetProcAddress(hLib, "SHGetFolderPathA");
if (SHGetFolderPathFunc)
- (*SHGetFolderPathFunc)(NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_CURRENT, winFontDir);
+ (*SHGetFolderPathFunc)(nullptr, CSIDL_FONTS, nullptr, SHGFP_TYPE_CURRENT, winFontDir);
if (!winFontDir[0]) {
// Try an older function
@@ -207,7 +207,7 @@
SHGetSpecialFolderPathFunc = (BOOL (__stdcall *)(HWND, LPSTR, int, BOOL))
GetProcAddress(hLib, "SHGetSpecialFolderPathA");
if (SHGetSpecialFolderPathFunc)
- (*SHGetSpecialFolderPathFunc)(NULL, winFontDir, CSIDL_FONTS, FALSE);
+ (*SHGetSpecialFolderPathFunc)(nullptr, winFontDir, CSIDL_FONTS, FALSE);
}
FreeLibrary(hLib);
}
@@ -220,7 +220,7 @@
SHGetFolderPathFunc = (HRESULT (__stdcall *)(HWND, int, HANDLE, DWORD, LPSTR))
GetProcAddress(hLib, "SHGetFolderPathA");
if (SHGetFolderPathFunc)
- (*SHGetFolderPathFunc)(NULL, CSIDL_FONTS, NULL, SHGFP_TYPE_CURRENT, winFontDir);
+ (*SHGetFolderPathFunc)(nullptr, CSIDL_FONTS, nullptr, SHGFP_TYPE_CURRENT, winFontDir);
FreeLibrary(hLib);
}
if (winFontDir[0])
@@ -268,7 +268,7 @@
while (1) {
valNameLen = sizeof(valName) - 1;
dataLen = sizeof(data) - 1;
- if (RegEnumValueA(regKey, idx, valName, &valNameLen, NULL,
+ if (RegEnumValueA(regKey, idx, valName, &valNameLen, nullptr,
&type, (LPBYTE)data, &dataLen) != ERROR_SUCCESS) {
break;
}
@@ -411,7 +411,7 @@
void GlobalParams::setupBaseFonts(char * dir)
{
const char *dataRoot = popplerDataDir ? popplerDataDir : POPPLER_DATADIR;
- GooString *fileName = NULL;
+ GooString *fileName = nullptr;
GooFile *file;
if (baseFontsInitialized)
@@ -462,10 +462,10 @@
// try to open file
file = GooFile::open(fileName);
- if (file != NULL) {
+ if (file != nullptr) {
Parser *parser;
- parser = new Parser(NULL,
- new Lexer(NULL,
+ parser = new Parser(nullptr,
+ new Lexer(nullptr,
new FileStream(file, 0, gFalse, file->size(), Object(objNull))),
gTrue);
Object obj1 = parser->getObj();
@@ -501,7 +501,7 @@
const char *origName)
{
assert(origName);
- if (!origName) return NULL;
+ if (!origName) return nullptr;
GooString *name2 = new GooString(origName);
int n = strlen(origName);
// remove trailing "-Identity-H"
@@ -515,7 +515,7 @@
n -= 11;
}
GooString *substName = (GooString *)substFiles->lookup(name2);
- if (substName != NULL) {
+ if (substName != nullptr) {
delete name2;
return substName->getCString();
}
@@ -525,7 +525,7 @@
if (font->isCIDFont()) {
GooString *collection = ((GfxCIDFont *)font)->getCollection();
- const char* name3 = NULL;
+ const char* name3 = nullptr;
if ( !collection->cmp("Adobe-CNS1") )
name3 = DEFAULT_CID_FONT_AC1_MSWIN;
else if ( !collection->cmp("Adobe-GB1") )
@@ -552,11 +552,11 @@
int *fontNum, GooString *substituteFontName,
GooString *base14Name) {
SysFontInfo *fi;
- GooString *path = NULL;
+ GooString *path = nullptr;
GooString *fontName = font->getName();
- if (!fontName) return NULL;
+ if (!fontName) return nullptr;
lockGlobalParams;
- setupBaseFonts(NULL);
+ setupBaseFonts(nullptr);
// TODO: base14Name should be changed?
// In the system using FontConfig, findSystemFontFile() uses
@@ -572,7 +572,7 @@
GooString *substFontName = new GooString(findSubstituteName(font, fontFiles,
substFiles,
fontName->getCString()));
- GooString *path2 = NULL;
+ GooString *path2 = nullptr;
error(errSyntaxError, -1, "Couldn't find a font for '{0:t}', subst is '{1:t}'", fontName, substFontName);
if ((path2 = (GooString *)fontFiles->lookup(substFontName))) {
path = new GooString(path2);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -141,11 +141,11 @@
memset(numSharedObject, 0, nPages * sizeof(Guint));
memset(pageObjectNum, 0, nPages * sizeof(int));
- groupLength = NULL;
- groupOffset = NULL;
- groupHasSignature = NULL;
- groupNumObjects = NULL;
- groupXRefOffset = NULL;
+ groupLength = nullptr;
+ groupOffset = nullptr;
+ groupHasSignature = nullptr;
+ groupNumObjects = nullptr;
+ groupXRefOffset = nullptr;
ok = gTrue;
readTables(str, linearization, xref, secHdlr);
@@ -209,7 +209,7 @@
(num = obj.getInt(), obj = parser->getObj(), obj.isInt()) &&
(gen = obj.getInt(), obj = parser->getObj(), obj.isCmd("obj")) &&
(obj = parser->getObj(gFalse,
- secHdlr ? secHdlr->getFileKey() : (Guchar *)NULL,
+ secHdlr ? secHdlr->getFileKey() : (Guchar *)nullptr,
secHdlr ? secHdlr->getEncAlgorithm() : cryptRC4,
secHdlr ? secHdlr->getFileKeyLength() : 0,
num, gen, 0, gTrue), obj.isStream())) {
@@ -217,7 +217,7 @@
Dict *hintsDict = obj.streamGetDict();
int sharedStreamOffset = 0;
- if (hintsDict->lookupInt("S", NULL, &sharedStreamOffset) &&
+ if (hintsDict->lookupInt("S", nullptr, &sharedStreamOffset) &&
sharedStreamOffset > 0) {
hintsStream->reset();
@@ -307,7 +307,7 @@
sbr.resetInputBits(); // reset on byte boundary. Not in specs!
numSharedObject[0] = sbr.readBits(nBitsNumShared);
numSharedObject[0] = 0; // Do not trust the read value to be 0.
- sharedObjectId[0] = NULL;
+ sharedObjectId[0] = nullptr;
for (int i = 1; i < nPages && !sbr.atEOF(); i++) {
numSharedObject[i] = sbr.readBits(nBitsNumShared);
if (numSharedObject[i] >= INT_MAX / (int)sizeof(Guint)) {
@@ -457,7 +457,7 @@
std::vector<ByteRange>* Hints::getPageRanges(int page)
{
- if ((page < 1) || (page > nPages)) return NULL;
+ if ((page < 1) || (page > nPages)) return nullptr;
int idx;
if (page-1 > pageFirst)
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Hints.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -5,7 +5,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010, 2013, 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2013, 2016, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright 2013 Adrian Johnson <ajohnson at redneon.com>
//
//========================================================================
@@ -33,6 +33,9 @@
Hints(BaseStream *str, Linearization *linearization, XRef *xref, SecurityHandler *secHdlr);
~Hints();
+ Hints(const Hints &) = delete;
+ Hints& operator=(const Hints &) = delete;
+
GBool isOk() const;
int getPageObjectNum(int page);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -88,7 +88,7 @@
};
JArithmeticDecoder::JArithmeticDecoder() {
- str = NULL;
+ str = nullptr;
dataLen = 0;
limitStream = gFalse;
nBytesRead = 0;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JArithmeticDecoder.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -8,6 +8,20 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef JARITHMETICDECODER_H
#define JARITHMETICDECODER_H
@@ -28,6 +42,8 @@
JArithmeticDecoderStats(int contextSizeA);
~JArithmeticDecoderStats();
+ JArithmeticDecoderStats(const JArithmeticDecoderStats &) = delete;
+ JArithmeticDecoderStats& operator=(const JArithmeticDecoderStats &) = delete;
JArithmeticDecoderStats *copy();
void reset();
int getContextSize() { return contextSize; }
@@ -51,6 +67,8 @@
JArithmeticDecoder();
~JArithmeticDecoder();
+ JArithmeticDecoder(const JArithmeticDecoder &) = delete;
+ JArithmeticDecoder& operator=(const JArithmeticDecoder &) = delete;
void setStream(Stream *strA)
{ str = strA; dataLen = 0; limitStream = gFalse; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JBIG2Stream.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -15,7 +15,7 @@
//
// Copyright (C) 2006 Raj Kumar <rkumar at archive.org>
// Copyright (C) 2006 Paul Walmsley <paul at booyaka.com>
-// Copyright (C) 2006-2010, 2012, 2014-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2010, 2012, 2014-2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2009 David Benjamin <davidben at mit.edu>
// Copyright (C) 2011 Edward Jiang <ejiang at google.com>
// Copyright (C) 2012 William Bader <williambader at hotmail.com>
@@ -339,7 +339,7 @@
};
JBIG2HuffmanDecoder::JBIG2HuffmanDecoder() {
- str = NULL;
+ str = nullptr;
reset();
}
@@ -482,7 +482,7 @@
};
JBIG2MMRDecoder::JBIG2MMRDecoder() {
- str = NULL;
+ str = nullptr;
reset();
}
@@ -651,6 +651,8 @@
JBIG2Segment(Guint segNumA) { segNum = segNumA; }
virtual ~JBIG2Segment() {}
+ JBIG2Segment(const JBIG2Segment &) = delete;
+ JBIG2Segment& operator=(const JBIG2Segment &) = delete;
void setSegNum(Guint segNumA) { segNum = segNumA; }
Guint getSegNum() { return segNum; }
virtual JBIG2SegmentType getType() = 0;
@@ -697,7 +699,7 @@
void combine(JBIG2Bitmap *bitmap, int x, int y, Guint combOp);
Guchar *getDataPtr() { return data; }
int getDataSize() { return h * line; }
- GBool isOk() { return data != NULL; }
+ GBool isOk() { return data != nullptr; }
private:
@@ -716,12 +718,12 @@
if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
error(errSyntaxError, -1, "invalid width/height");
- data = NULL;
+ data = nullptr;
return;
}
// need to allocate one extra guard byte for use in combine()
data = (Guchar *)gmalloc_checkoverflow(h * line + 1);
- if (data != NULL) {
+ if (data != nullptr) {
data[h * line] = 0;
}
}
@@ -729,10 +731,10 @@
JBIG2Bitmap::JBIG2Bitmap(Guint segNumA, JBIG2Bitmap *bitmap):
JBIG2Segment(segNumA)
{
- if (unlikely(bitmap == NULL)) {
+ if (unlikely(bitmap == nullptr)) {
error(errSyntaxError, -1, "NULL bitmap in JBIG2Bitmap");
w = h = line = 0;
- data = NULL;
+ data = nullptr;
return;
}
@@ -742,7 +744,7 @@
if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
error(errSyntaxError, -1, "invalid width/height");
- data = NULL;
+ data = nullptr;
return;
}
// need to allocate one extra guard byte for use in combine()
@@ -776,7 +778,7 @@
}
} else {
delete slice;
- slice = NULL;
+ slice = nullptr;
}
return slice;
}
@@ -785,7 +787,7 @@
if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) {
error(errSyntaxError, -1, "invalid width/height");
gfree(data);
- data = NULL;
+ data = nullptr;
return;
}
// need to allocate one extra guard byte for use in combine()
@@ -809,7 +811,7 @@
inline void JBIG2Bitmap::getPixelPtr(int x, int y, JBIG2BitmapPtr *ptr) {
if (y < 0 || y >= h || x >= w) {
- ptr->p = NULL;
+ ptr->p = nullptr;
ptr->shift = 0; // make gcc happy
ptr->x = 0; // make gcc happy
} else if (x < 0) {
@@ -834,7 +836,7 @@
} else {
pix = (*ptr->p >> ptr->shift) & 1;
if (++ptr->x == w) {
- ptr->p = NULL;
+ ptr->p = nullptr;
} else if (ptr->shift == 0) {
++ptr->p;
ptr->shift = 7;
@@ -1055,7 +1057,7 @@
Guint getSize() { return size; }
void setBitmap(Guint idx, JBIG2Bitmap *bitmap) { bitmaps[idx] = bitmap; }
JBIG2Bitmap *getBitmap(Guint idx) { return bitmaps[idx]; }
- GBool isOk() { return bitmaps != NULL; }
+ GBool isOk() { return bitmaps != nullptr; }
void setGenericRegionStats(JArithmeticDecoderStats *stats)
{ genericRegionStats = stats; }
void setRefinementRegionStats(JArithmeticDecoderStats *stats)
@@ -1082,10 +1084,10 @@
bitmaps = (JBIG2Bitmap **)gmallocn_checkoverflow(size, sizeof(JBIG2Bitmap *));
if (!bitmaps) size = 0;
for (i = 0; i < size; ++i) {
- bitmaps[i] = NULL;
+ bitmaps[i] = nullptr;
}
- genericRegionStats = NULL;
- refinementRegionStats = NULL;
+ genericRegionStats = nullptr;
+ refinementRegionStats = nullptr;
}
JBIG2SymbolDict::~JBIG2SymbolDict() {
@@ -1115,7 +1117,7 @@
JBIG2SegmentType getType() override { return jbig2SegPatternDict; }
Guint getSize() { return size; }
void setBitmap(Guint idx, JBIG2Bitmap *bitmap) { if (likely(idx < size)) bitmaps[idx] = bitmap; }
- JBIG2Bitmap *getBitmap(Guint idx) { return (idx < size) ? bitmaps[idx] : NULL; }
+ JBIG2Bitmap *getBitmap(Guint idx) { return (idx < size) ? bitmaps[idx] : nullptr; }
private:
@@ -1178,7 +1180,7 @@
JBIG2Stream::JBIG2Stream(Stream *strA, Object *globalsStreamA, Object *globalsStreamRefA):
FilterStream(strA)
{
- pageBitmap = NULL;
+ pageBitmap = nullptr;
arithDecoder = new JArithmeticDecoder();
genericRegionStats = new JArithmeticDecoderStats(1 << 1);
@@ -1206,9 +1208,9 @@
globalsStreamRef = globalsStreamRefA->getRef();
}
- segments = globalSegments = NULL;
- curStr = NULL;
- dataPtr = dataEnd = NULL;
+ segments = globalSegments = nullptr;
+ curStr = nullptr;
+ dataPtr = dataEnd = nullptr;
}
JBIG2Stream::~JBIG2Stream() {
@@ -1262,7 +1264,7 @@
dataPtr = pageBitmap->getDataPtr();
dataEnd = dataPtr + pageBitmap->getDataSize();
} else {
- dataPtr = dataEnd = NULL;
+ dataPtr = dataEnd = nullptr;
}
}
@@ -1269,17 +1271,17 @@
void JBIG2Stream::close() {
if (pageBitmap) {
delete pageBitmap;
- pageBitmap = NULL;
+ pageBitmap = nullptr;
}
if (segments) {
deleteGooList(segments, JBIG2Segment);
- segments = NULL;
+ segments = nullptr;
}
if (globalSegments) {
deleteGooList(globalSegments, JBIG2Segment);
- globalSegments = NULL;
+ globalSegments = nullptr;
}
- dataPtr = dataEnd = NULL;
+ dataPtr = dataEnd = nullptr;
FilterStream::close();
}
@@ -1298,7 +1300,7 @@
}
Goffset JBIG2Stream::getPos() {
- if (pageBitmap == NULL) {
+ if (pageBitmap == nullptr) {
return 0;
}
return dataPtr - pageBitmap->getDataPtr();
@@ -1322,7 +1324,7 @@
}
GooString *JBIG2Stream::getPSFilter(int psLevel, const char *indent) {
- return NULL;
+ return nullptr;
}
GBool JBIG2Stream::isBinary(GBool last) {
@@ -1335,7 +1337,6 @@
Guint *refSegs;
Goffset segDataPos;
int c1, c2, c3;
- Guint i;
while (readULong(&segNum)) {
@@ -1358,7 +1359,7 @@
}
refFlags = (refFlags << 24) | (c1 << 16) | (c2 << 8) | c3;
nRefSegs = refFlags & 0x1fffffff;
- for (i = 0; i < (nRefSegs + 9) >> 3; ++i) {
+ for (Guint i = 0; i < (nRefSegs + 9) >> 3; ++i) {
if ((c1 = curStr->getChar()) == EOF) {
goto eofError1;
}
@@ -1368,19 +1369,19 @@
// referred-to segment numbers
refSegs = (Guint *)gmallocn(nRefSegs, sizeof(Guint));
if (segNum <= 256) {
- for (i = 0; i < nRefSegs; ++i) {
+ for (Guint i = 0; i < nRefSegs; ++i) {
if (!readUByte(&refSegs[i])) {
goto eofError2;
}
}
} else if (segNum <= 65536) {
- for (i = 0; i < nRefSegs; ++i) {
+ for (Guint i = 0; i < nRefSegs; ++i) {
if (!readUWord(&refSegs[i])) {
goto eofError2;
}
}
} else {
- for (i = 0; i < nRefSegs; ++i) {
+ for (Guint i = 0; i < nRefSegs; ++i) {
if (!readULong(&refSegs[i])) {
goto eofError2;
}
@@ -1482,7 +1483,7 @@
break;
default:
error(errSyntaxError, curStr->getPos(), "Unknown segment type in JBIG2 stream");
- for (i = 0; i < segLength; ++i) {
+ for (Guint i = 0; i < segLength; ++i) {
if ((c1 = curStr->getChar()) == EOF) {
goto eofError2;
}
@@ -1567,7 +1568,7 @@
Guint i, j, k;
Guchar *p;
- symWidths = NULL;
+ symWidths = nullptr;
// symbol dictionary flags
if (!readUWord(&flags)) {
@@ -1674,13 +1675,13 @@
goto eofError;
}
for (i = 0; i < numInputSyms + numNewSyms; ++i) {
- bitmaps[i] = NULL;
+ bitmaps[i] = nullptr;
}
k = 0;
- inputSymbolDict = NULL;
+ inputSymbolDict = nullptr;
for (i = 0; i < nRefSegs; ++i) {
seg = findSegment(refSegs[i]);
- if (seg != NULL && seg->getType() == jbig2SegSymbolDict) {
+ if (seg != nullptr && seg->getType() == jbig2SegSymbolDict) {
inputSymbolDict = (JBIG2SymbolDict *)seg;
for (j = 0; j < inputSymbolDict->getSize(); ++j) {
bitmaps[k++] = inputSymbolDict->getBitmap(j);
@@ -1689,8 +1690,8 @@
}
// get the Huffman tables
- huffDHTable = huffDWTable = NULL; // make gcc happy
- huffBMSizeTable = huffAggInstTable = NULL; // make gcc happy
+ huffDHTable = huffDWTable = nullptr; // make gcc happy
+ huffBMSizeTable = huffAggInstTable = nullptr; // make gcc happy
i = 0;
if (huff) {
if (huffDH == 0) {
@@ -1743,7 +1744,7 @@
if (contextUsed && inputSymbolDict) {
resetGenericStats(sdTemplate, inputSymbolDict->getGenericRegionStats());
} else {
- resetGenericStats(sdTemplate, NULL);
+ resetGenericStats(sdTemplate, nullptr);
}
resetIntStats(symCodeLen);
arithDecoder->start();
@@ -1755,7 +1756,7 @@
resetRefinementStats(sdrTemplate,
inputSymbolDict->getRefinementRegionStats());
} else {
- resetRefinementStats(sdrTemplate, NULL);
+ resetRefinementStats(sdrTemplate, nullptr);
}
}
@@ -1850,7 +1851,7 @@
goto syntaxError;
}
refBitmap = bitmaps[symID];
- if (unlikely(refBitmap == NULL)) {
+ if (unlikely(refBitmap == nullptr)) {
error(errSyntaxError, curStr->getPos(), "Invalid ref bitmap for symbol ID {0:ud} in JBIG2 symbol dictionary", symID);
goto syntaxError;
}
@@ -1863,7 +1864,7 @@
} else {
bitmaps[numInputSyms + i] =
readTextRegion(huff, gTrue, symWidth, symHeight,
- refAggNum, 0, numInputSyms + i, NULL,
+ refAggNum, 0, numInputSyms + i, nullptr,
symCodeLen, bitmaps, 0, 0, 0, 1, 0,
huffTableF, huffTableH, huffTableK, huffTableO,
huffTableO, huffTableO, huffTableO, huffTableA,
@@ -1874,7 +1875,7 @@
} else {
bitmaps[numInputSyms + i] =
readGenericBitmap(gFalse, symWidth, symHeight,
- sdTemplate, gFalse, gFalse, NULL,
+ sdTemplate, gFalse, gFalse, nullptr,
sdATX, sdATY, 0);
}
@@ -1889,7 +1890,7 @@
collBitmap = new JBIG2Bitmap(0, totalWidth, symHeight);
bmSize = symHeight * ((totalWidth + 7) >> 3);
p = collBitmap->getDataPtr();
- if (unlikely(p == NULL)) {
+ if (unlikely(p == nullptr)) {
delete collBitmap;
goto syntaxError;
}
@@ -1901,10 +1902,10 @@
}
} else {
collBitmap = readGenericBitmap(gTrue, totalWidth, symHeight,
- 0, gFalse, gFalse, NULL, NULL, NULL,
+ 0, gFalse, gFalse, nullptr, nullptr, nullptr,
bmSize);
}
- if (likely(collBitmap != NULL)) {
+ if (likely(collBitmap != nullptr)) {
x = 0;
for (; j < i; ++j) {
bitmaps[numInputSyms + j] =
@@ -1938,7 +1939,7 @@
if (i + run > numInputSyms + numNewSyms ||
(ex && j + run > numExSyms)) {
error(errSyntaxError, curStr->getPos(), "Too many exported symbols in JBIG2 symbol dictionary");
- for ( ; j < numExSyms; ++j) symbolDict->setBitmap(j, NULL);
+ for ( ; j < numExSyms; ++j) symbolDict->setBitmap(j, nullptr);
delete symbolDict;
goto syntaxError;
}
@@ -1953,7 +1954,7 @@
}
if (j != numExSyms) {
error(errSyntaxError, curStr->getPos(), "Too few symbols in JBIG2 symbol dictionary");
- for ( ; j < numExSyms; ++j) symbolDict->setBitmap(j, NULL);
+ for ( ; j < numExSyms; ++j) symbolDict->setBitmap(j, nullptr);
delete symbolDict;
goto syntaxError;
}
@@ -2117,9 +2118,9 @@
}
// get the Huffman tables
- huffFSTable = huffDSTable = huffDTTable = NULL; // make gcc happy
- huffRDWTable = huffRDHTable = NULL; // make gcc happy
- huffRDXTable = huffRDYTable = huffRSizeTable = NULL; // make gcc happy
+ huffFSTable = huffDSTable = huffDTTable = nullptr; // make gcc happy
+ huffRDWTable = huffRDHTable = nullptr; // make gcc happy
+ huffRDXTable = huffRDYTable = huffRSizeTable = nullptr; // make gcc happy
i = 0;
if (huff) {
if (huffFS == 0) {
@@ -2258,12 +2259,12 @@
// set up the arithmetic decoder
} else {
- symCodeTab = NULL;
+ symCodeTab = nullptr;
resetIntStats(symCodeLen);
arithDecoder->start();
}
if (refine) {
- resetRefinementStats(templ, NULL);
+ resetRefinementStats(templ, nullptr);
}
bitmap = readTextRegion(huff, refine, w, h, numInstances,
@@ -2344,7 +2345,7 @@
bitmap = new JBIG2Bitmap(0, w, h);
if (!bitmap->isOk()) {
delete bitmap;
- return NULL;
+ return nullptr;
}
if (defPixel) {
bitmap->clearToOne();
@@ -2413,12 +2414,12 @@
if (unlikely(numInstances - inst > 0x800)) {
// don't loop too often with damaged JBIg2 streams
delete bitmap;
- return NULL;
+ return nullptr;
}
} else {
// get the symbol bitmap
- symbolBitmap = NULL;
+ symbolBitmap = nullptr;
if (refine) {
if (huff) {
ri = (int)huffDecoder->readBit();
@@ -2472,7 +2473,7 @@
delete symbolBitmap;
}
delete bitmap;
- return NULL;
+ return nullptr;
}
bh = symbolBitmap->getHeight() - 1;
if (transposed) {
@@ -2482,7 +2483,7 @@
delete symbolBitmap;
}
delete bitmap;
- return NULL;
+ return nullptr;
}
switch (refCorner) {
case 0: // bottom left
@@ -2508,7 +2509,7 @@
delete symbolBitmap;
}
delete bitmap;
- return NULL;
+ return nullptr;
}
bitmap->combine(symbolBitmap, s, tt - bh, combOp);
break;
@@ -2519,7 +2520,7 @@
delete symbolBitmap;
}
delete bitmap;
- return NULL;
+ return nullptr;
}
bitmap->combine(symbolBitmap, s, tt, combOp);
break;
@@ -2530,7 +2531,7 @@
delete symbolBitmap;
}
delete bitmap;
- return NULL;
+ return nullptr;
}
bitmap->combine(symbolBitmap, s, tt - bh, combOp);
break;
@@ -2541,7 +2542,7 @@
delete symbolBitmap;
}
delete bitmap;
- return NULL;
+ return nullptr;
}
bitmap->combine(symbolBitmap, s, tt, combOp);
break;
@@ -2554,7 +2555,7 @@
} else {
// NULL symbolBitmap only happens on error
delete bitmap;
- return NULL;
+ return nullptr;
}
}
@@ -2597,7 +2598,7 @@
// set up the arithmetic decoder
if (!mmr) {
- resetGenericStats(templ, NULL);
+ resetGenericStats(templ, nullptr);
arithDecoder->start();
}
@@ -2607,7 +2608,7 @@
atx[2] = 2; aty[2] = -2;
atx[3] = -2; aty[3] = -2;
bitmap = readGenericBitmap(mmr, (grayMax + 1) * patternW, patternH,
- templ, gFalse, gFalse, NULL,
+ templ, gFalse, gFalse, nullptr,
atx, aty, length - 7);
if (!bitmap)
@@ -2688,7 +2689,7 @@
return;
}
seg = findSegment(refSegs[0]);
- if (seg == NULL || seg->getType() != jbig2SegPatternDict) {
+ if (seg == nullptr || seg->getType() != jbig2SegPatternDict) {
error(errSyntaxError, curStr->getPos(), "Bad symbol dictionary reference in JBIG2 halftone segment");
return;
}
@@ -2707,7 +2708,7 @@
}
}
patternBitmap = patternDict->getBitmap(0);
- if (unlikely(patternBitmap == NULL)) {
+ if (unlikely(patternBitmap == nullptr)) {
error(errSyntaxError, curStr->getPos(), "Bad pattern bitmap");
return;
}
@@ -2716,7 +2717,7 @@
// set up the arithmetic decoder
if (!mmr) {
- resetGenericStats(templ, NULL);
+ resetGenericStats(templ, nullptr);
arithDecoder->start();
}
@@ -2729,7 +2730,7 @@
}
// compute the skip bitmap
- skipBitmap = NULL;
+ skipBitmap = nullptr;
if (enableSkip) {
skipBitmap = new JBIG2Bitmap(0, gridW, gridH);
skipBitmap->clearToZero();
@@ -2774,7 +2775,7 @@
for (n = 0; n < gridW; ++n) {
if (!(enableSkip && skipBitmap->getPixel(n, m))) {
patternBitmap = patternDict->getBitmap(grayImg[i]);
- if (unlikely(patternBitmap == NULL)) {
+ if (unlikely(patternBitmap == nullptr)) {
delete skipBitmap;
delete bitmap;
gfree(grayImg);
@@ -2859,13 +2860,13 @@
// set up the arithmetic decoder
if (!mmr) {
- resetGenericStats(templ, NULL);
+ resetGenericStats(templ, nullptr);
arithDecoder->start();
}
// read the bitmap
bitmap = readGenericBitmap(mmr, w, h, templ, tpgdOn, gFalse,
- NULL, atx, aty, mmr ? length - 18 : 0);
+ nullptr, atx, aty, mmr ? length - 18 : 0);
if (!bitmap)
return;
@@ -2953,7 +2954,7 @@
bitmap = new JBIG2Bitmap(0, w, h);
if (!bitmap->isOk()) {
delete bitmap;
- return NULL;
+ return nullptr;
}
bitmap->clearToZero();
@@ -2965,7 +2966,7 @@
if (w > INT_MAX - 2) {
error(errSyntaxError, curStr->getPos(), "Bad width in JBIG2 generic bitmap");
delete bitmap;
- return NULL;
+ return nullptr;
}
// 0 <= codingLine[0] < codingLine[1] < ... < codingLine[n] = w
// ---> max codingLine size = w + 1
@@ -3224,11 +3225,11 @@
p0 = bitmap->getDataPtr() + (y - 2) * bitmap->getLineSize();
buf0 = *p0++ << 8;
} else {
- p0 = NULL;
+ p0 = nullptr;
buf0 = 0;
}
} else {
- p1 = p0 = NULL;
+ p1 = p0 = nullptr;
buf1 = buf0 = 0;
}
@@ -3241,7 +3242,7 @@
atP0 = bitmap->getDataPtr() + (y + aty[0]) * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
- atP0 = NULL;
+ atP0 = nullptr;
atBuf0 = 0;
}
atShift0 = 15 - atx[0];
@@ -3249,7 +3250,7 @@
atP1 = bitmap->getDataPtr() + (y + aty[1]) * bitmap->getLineSize();
atBuf1 = *atP1++ << 8;
} else {
- atP1 = NULL;
+ atP1 = nullptr;
atBuf1 = 0;
}
atShift1 = 15 - atx[1];
@@ -3257,7 +3258,7 @@
atP2 = bitmap->getDataPtr() + (y + aty[2]) * bitmap->getLineSize();
atBuf2 = *atP2++ << 8;
} else {
- atP2 = NULL;
+ atP2 = nullptr;
atBuf2 = 0;
}
atShift2 = 15 - atx[2];
@@ -3265,7 +3266,7 @@
atP3 = bitmap->getDataPtr() + (y + aty[3]) * bitmap->getLineSize();
atBuf3 = *atP3++ << 8;
} else {
- atP3 = NULL;
+ atP3 = nullptr;
atBuf3 = 0;
}
atShift3 = 15 - atx[3];
@@ -3393,11 +3394,11 @@
p0 = bitmap->getDataPtr() + (y - 2) * bitmap->getLineSize();
buf0 = *p0++ << 8;
} else {
- p0 = NULL;
+ p0 = nullptr;
buf0 = 0;
}
} else {
- p1 = p0 = NULL;
+ p1 = p0 = nullptr;
buf1 = buf0 = 0;
}
@@ -3408,7 +3409,7 @@
atP0 = bitmap->getDataPtr() + atY * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
- atP0 = NULL;
+ atP0 = nullptr;
atBuf0 = 0;
}
atShift0 = 15 - atx[0];
@@ -3509,11 +3510,11 @@
p0 = bitmap->getDataPtr() + (y - 2) * bitmap->getLineSize();
buf0 = *p0++ << 8;
} else {
- p0 = NULL;
+ p0 = nullptr;
buf0 = 0;
}
} else {
- p1 = p0 = NULL;
+ p1 = p0 = nullptr;
buf1 = buf0 = 0;
}
@@ -3524,7 +3525,7 @@
atP0 = bitmap->getDataPtr() + atY * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
- atP0 = NULL;
+ atP0 = nullptr;
atBuf0 = 0;
}
atShift0 = 15 - atx[0];
@@ -3622,7 +3623,7 @@
p1 = bitmap->getDataPtr() + (y - 1) * bitmap->getLineSize();
buf1 = *p1++ << 8;
} else {
- p1 = NULL;
+ p1 = nullptr;
buf1 = 0;
}
@@ -3633,7 +3634,7 @@
atP0 = bitmap->getDataPtr() + atY * bitmap->getLineSize();
atBuf0 = *atP0++ << 8;
} else {
- atP0 = NULL;
+ atP0 = nullptr;
atBuf0 = 0;
}
atShift0 = 15 - atx[0];
@@ -3765,7 +3766,7 @@
}
if (nRefSegs == 1) {
seg = findSegment(refSegs[0]);
- if (seg == NULL || seg->getType() != jbig2SegBitmap) {
+ if (seg == nullptr || seg->getType() != jbig2SegBitmap) {
error(errSyntaxError, curStr->getPos(), "Bad bitmap reference in JBIG2 generic refinement segment");
return;
}
@@ -3775,7 +3776,7 @@
}
// set up the arithmetic decoder
- resetRefinementStats(templ, NULL);
+ resetRefinementStats(templ, nullptr);
arithDecoder->start();
// read
@@ -3818,16 +3819,16 @@
JBIG2Bitmap *bitmap;
GBool ltp;
Guint ltpCX, cx, cx0, cx2, cx3, cx4, tpgrCX0, tpgrCX1, tpgrCX2;
- JBIG2BitmapPtr cxPtr0 = {0};
- JBIG2BitmapPtr cxPtr1 = {0};
- JBIG2BitmapPtr cxPtr2 = {0};
- JBIG2BitmapPtr cxPtr3 = {0};
- JBIG2BitmapPtr cxPtr4 = {0};
- JBIG2BitmapPtr cxPtr5 = {0};
- JBIG2BitmapPtr cxPtr6 = {0};
- JBIG2BitmapPtr tpgrCXPtr0 = {0};
- JBIG2BitmapPtr tpgrCXPtr1 = {0};
- JBIG2BitmapPtr tpgrCXPtr2 = {0};
+ JBIG2BitmapPtr cxPtr0 = {nullptr, 0, 0};
+ JBIG2BitmapPtr cxPtr1 = {nullptr, 0, 0};
+ JBIG2BitmapPtr cxPtr2 = {nullptr, 0, 0};
+ JBIG2BitmapPtr cxPtr3 = {nullptr, 0, 0};
+ JBIG2BitmapPtr cxPtr4 = {nullptr, 0, 0};
+ JBIG2BitmapPtr cxPtr5 = {nullptr, 0, 0};
+ JBIG2BitmapPtr cxPtr6 = {nullptr, 0, 0};
+ JBIG2BitmapPtr tpgrCXPtr0 = {nullptr, 0, 0};
+ JBIG2BitmapPtr tpgrCXPtr1 = {nullptr, 0, 0};
+ JBIG2BitmapPtr tpgrCXPtr2 = {nullptr, 0, 0};
int x, y, pix;
if (!refBitmap) {
@@ -3838,7 +3839,7 @@
if (!bitmap->isOk())
{
delete bitmap;
- return NULL;
+ return nullptr;
}
bitmap->clearToZero();
@@ -3881,7 +3882,7 @@
tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
} else {
- tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = NULL; // make gcc happy
+ tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = nullptr; // make gcc happy
tpgrCXPtr0.shift = tpgrCXPtr1.shift = tpgrCXPtr2.shift = 0;
tpgrCXPtr0.x = tpgrCXPtr1.x = tpgrCXPtr2.x = 0;
}
@@ -3956,7 +3957,7 @@
tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
tpgrCX2 = (tpgrCX2 << 1) | refBitmap->nextPixel(&tpgrCXPtr2);
} else {
- tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = NULL; // make gcc happy
+ tpgrCXPtr0.p = tpgrCXPtr1.p = tpgrCXPtr2.p = nullptr; // make gcc happy
tpgrCXPtr0.shift = tpgrCXPtr1.shift = tpgrCXPtr2.shift = 0;
tpgrCXPtr0.x = tpgrCXPtr1.x = tpgrCXPtr2.x = 0;
}
@@ -4026,7 +4027,7 @@
if (!pageBitmap->isOk()) {
delete pageBitmap;
- pageBitmap = NULL;
+ pageBitmap = nullptr;
return;
}
@@ -4156,7 +4157,7 @@
return seg;
}
}
- return NULL;
+ return nullptr;
}
void JBIG2Stream::discardSegment(Guint segNum) {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/JPEG2000Stream.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -78,7 +78,7 @@
JPXStream::JPXStream(Stream *strA) : FilterStream(strA) {
priv = new JPXStreamPrivate;
priv->inited = gFalse;
- priv->image = NULL;
+ priv->image = nullptr;
priv->npixels = 0;
priv->ncomps = 0;
priv->indexed = gFalse;
@@ -96,9 +96,9 @@
}
void JPXStream::close() {
- if (priv->image != NULL) {
+ if (priv->image != nullptr) {
opj_image_destroy(priv->image);
- priv->image = NULL;
+ priv->image = nullptr;
priv->npixels = 0;
}
}
@@ -131,7 +131,7 @@
}
GooString *JPXStream::getPSFilter(int psLevel, const char *indent) {
- return NULL;
+ return nullptr;
}
GBool JPXStream::isBinary(GBool last) {
@@ -250,7 +250,7 @@
priv->ncomps = priv->image->numcomps;
if (alpha == 1 && priv->smaskInData == 0) priv->ncomps--;
for (int component = 0; component < priv->ncomps; component++) {
- if (priv->image->comps[component].data == NULL) {
+ if (priv->image->comps[component].data == nullptr) {
close();
break;
}
@@ -289,7 +289,7 @@
stream = opj_stream_default_create(OPJ_TRUE);
#if OPENJPEG_VERSION >= OPENJPEG_VERSION_ENCODE(2, 1, 0)
- opj_stream_set_user_data (stream, &jpxData, NULL);
+ opj_stream_set_user_data (stream, &jpxData, nullptr);
#else
opj_stream_set_user_data (stream, &jpxData);
#endif
@@ -310,14 +310,14 @@
/* Get the decoder handle of the format */
decoder = opj_create_decompress(format);
- if (decoder == NULL) {
+ if (decoder == nullptr) {
error(errSyntaxWarning, -1, "Unable to create decoder");
goto error;
}
/* Catch events using our callbacks */
- opj_set_warning_handler(decoder, libopenjpeg_warning_callback, NULL);
- opj_set_error_handler(decoder, libopenjpeg_error_callback, NULL);
+ opj_set_warning_handler(decoder, libopenjpeg_warning_callback, nullptr);
+ opj_set_error_handler(decoder, libopenjpeg_error_callback, nullptr);
/* Setup the decoder decoding parameters */
if (!opj_setup_decoder(decoder, ¶meters)) {
@@ -326,7 +326,7 @@
}
/* Decode the stream and fill the image structure */
- image = NULL;
+ image = nullptr;
if (!opj_read_header(stream, decoder, &image)) {
error(errSyntaxWarning, -1, "Unable to read header");
goto error;
@@ -348,7 +348,7 @@
opj_destroy_codec(decoder);
opj_stream_destroy(stream);
- if (image != NULL)
+ if (image != nullptr)
return;
error:
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006-2010, 2012-2014, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2010, 2012-2014, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
// Copyright (C) 2010 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2012, 2013 Adrian Johnson <ajohnson at redneon.com>
@@ -86,7 +86,6 @@
xref = xrefA;
if (obj->isStream()) {
- Object obj2;
streams = new Array(xref);
freeArray = gTrue;
streams->add(obj->copy());
@@ -97,12 +96,14 @@
strPtr = 0;
if (streams->getLength() > 0) {
curStr = streams->get(strPtr);
- curStr.streamReset();
+ if (curStr.isStream()) {
+ curStr.streamReset();
+ }
}
}
Lexer::~Lexer() {
- if (!curStr.isNone()) {
+ if (curStr.isStream()) {
curStr.streamClose();
}
if (freeArray) {
@@ -120,7 +121,7 @@
}
c = EOF;
- while (!curStr.isNone() && (c = curStr.streamGetChar()) == EOF) {
+ while (curStr.isStream() && (c = curStr.streamGetChar()) == EOF) {
if (comesFromLook == gTrue) {
return EOF;
} else {
@@ -128,8 +129,10 @@
curStr = Object();
++strPtr;
if (strPtr < streams->getLength()) {
- curStr = streams->get(strPtr);
- curStr.streamReset();
+ curStr = streams->get(strPtr);
+ if (curStr.isStream()) {
+ curStr.streamReset();
+ }
}
}
}
@@ -279,7 +282,7 @@
n = 0;
numParen = 1;
done = gFalse;
- s = NULL;
+ s = nullptr;
do {
c2 = EOF;
switch (c = getChar()) {
@@ -376,7 +379,7 @@
n = 0;
// we are growing see if the document is not malformed and we are growing too much
- if (objNum > 0 && xref != NULL)
+ if (objNum > 0 && xref != nullptr)
{
int newObjNum = xref->getNumEntry(curStr.streamGetPos());
if (newObjNum != objNum)
@@ -407,7 +410,7 @@
case '/':
p = tokBuf;
n = 0;
- s = NULL;
+ s = nullptr;
while ((c = lookChar()) != EOF && !specialChars[c]) {
getChar();
if (c == '#') {
@@ -483,7 +486,7 @@
p = tokBuf;
m = n = 0;
c2 = 0;
- s = NULL;
+ s = nullptr;
while (1) {
c = getChar();
if (c == '>') {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Lexer.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -13,7 +13,7 @@
// All changes made under the Poppler project to this file are licensed
// under GPL version 2 or later
//
-// Copyright (C) 2006, 2007, 2010, 2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2007, 2010, 2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
// Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
// Copyright (C) 2013 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -55,6 +55,9 @@
// Destructor.
~Lexer();
+ Lexer(const Lexer &) = delete;
+ Lexer& operator=(const Lexer &) = delete;
+
// Get the next object from the input stream.
Object getObj(int objNum = -1);
Object getObj(const char *cmdA, int objNum);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Linearization.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Linearization.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Linearization.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -23,8 +23,8 @@
Parser *parser;
str->reset();
- parser = new Parser(NULL,
- new Lexer(NULL, str->makeSubStream(str->getStart(), gFalse, 0, Object(objNull))),
+ parser = new Parser(nullptr,
+ new Lexer(nullptr, str->makeSubStream(str->getStart(), gFalse, 0, Object(objNull))),
gFalse);
Object obj1 = parser->getObj();
Object obj2 = parser->getObj();
@@ -48,7 +48,7 @@
if (!linDict.isDict()) return 0;
int length;
- if (linDict.getDict()->lookupInt("L", NULL, &length) &&
+ if (linDict.getDict()->lookupInt("L", nullptr, &length) &&
length > 0) {
return length;
} else {
@@ -139,7 +139,7 @@
{
int objectNumberFirst = 0;
if (linDict.isDict() &&
- linDict.getDict()->lookupInt("O", NULL, &objectNumberFirst) &&
+ linDict.getDict()->lookupInt("O", nullptr, &objectNumberFirst) &&
objectNumberFirst > 0) {
return objectNumberFirst;
} else {
@@ -152,7 +152,7 @@
{
int pageEndFirst = 0;
if (linDict.isDict() &&
- linDict.getDict()->lookupInt("E", NULL, &pageEndFirst) &&
+ linDict.getDict()->lookupInt("E", nullptr, &pageEndFirst) &&
pageEndFirst > 0) {
return pageEndFirst;
} else {
@@ -165,7 +165,7 @@
{
int numPages = 0;
if (linDict.isDict() &&
- linDict.getDict()->lookupInt("N", NULL, &numPages) &&
+ linDict.getDict()->lookupInt("N", nullptr, &numPages) &&
numPages > 0) {
return numPages;
} else {
@@ -178,7 +178,7 @@
{
int mainXRefEntriesOffset = 0;
if (linDict.isDict() &&
- linDict.getDict()->lookupInt("T", NULL, &mainXRefEntriesOffset) &&
+ linDict.getDict()->lookupInt("T", nullptr, &mainXRefEntriesOffset) &&
mainXRefEntriesOffset > 0) {
return mainXRefEntriesOffset;
} else {
@@ -192,7 +192,7 @@
int pageFirst = 0; // Optional, defaults to 0.
if (linDict.isDict()) {
- linDict.getDict()->lookupInt("P", NULL, &pageFirst);
+ linDict.getDict()->lookupInt("P", nullptr, &pageFirst);
}
if ((pageFirst < 0) || (pageFirst >= getNumPages())) {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Link.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Link.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Link.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -57,7 +57,7 @@
action = new LinkGoTo(obj);
if (!action->isOk()) {
delete action;
- return NULL;
+ return nullptr;
}
return action;
}
@@ -68,7 +68,7 @@
if (!obj->isDict()) {
error(errSyntaxWarning, -1, "parseAction: Bad annotation action for URI '{0:s}'",
baseURI ? baseURI->getCString() : "NULL");
- return NULL;
+ return nullptr;
}
Object obj2 = obj->dictLookup("S");
@@ -127,12 +127,12 @@
} else {
error(errSyntaxWarning, -1, "parseAction: Unknown annotation action object: URI = '{0:s}'",
baseURI ? baseURI->getCString() : "NULL");
- action = NULL;
+ action = nullptr;
}
if (action && !action->isOk()) {
delete action;
- return NULL;
+ return nullptr;
}
return action;
}
@@ -362,8 +362,8 @@
//------------------------------------------------------------------------
LinkGoTo::LinkGoTo(Object *destObj) {
- dest = NULL;
- namedDest = NULL;
+ dest = nullptr;
+ namedDest = nullptr;
// named destination
if (destObj->isName()) {
@@ -376,7 +376,7 @@
dest = new LinkDest(destObj->getArray());
if (!dest->isOk()) {
delete dest;
- dest = NULL;
+ dest = nullptr;
}
// error
@@ -397,9 +397,9 @@
//------------------------------------------------------------------------
LinkGoToR::LinkGoToR(Object *fileSpecObj, Object *destObj) {
- fileName = NULL;
- dest = NULL;
- namedDest = NULL;
+ fileName = nullptr;
+ dest = nullptr;
+ namedDest = nullptr;
// get file name
Object obj1 = getFileSpecNameForPlatform (fileSpecObj);
@@ -418,7 +418,7 @@
dest = new LinkDest(destObj->getArray());
if (!dest->isOk()) {
delete dest;
- dest = NULL;
+ dest = nullptr;
}
// error
@@ -443,8 +443,8 @@
LinkLaunch::LinkLaunch(Object *actionObj) {
- fileName = NULL;
- params = NULL;
+ fileName = nullptr;
+ params = nullptr;
if (actionObj->isDict()) {
Object obj1 = actionObj->dictLookup("F");
@@ -494,7 +494,7 @@
int n;
char c;
- uri = NULL;
+ uri = nullptr;
if (uriObj->isString()) {
uri2 = uriObj->getString();
n = (int)strcspn(uri2->getCString(), "/:");
@@ -539,7 +539,7 @@
//------------------------------------------------------------------------
LinkNamed::LinkNamed(Object *nameObj) {
- name = NULL;
+ name = nullptr;
if (nameObj->isName()) {
name = new GooString(nameObj->getName());
}
@@ -557,7 +557,7 @@
LinkMovie::LinkMovie(Object *obj) {
annotRef.num = -1;
- annotTitle = NULL;
+ annotTitle = nullptr;
Object tmp = obj->dictLookupNF("Annotation");
if (tmp.isRef()) {
@@ -569,7 +569,7 @@
annotTitle = tmp.getString()->copy();
}
- if ((annotTitle == NULL) && (annotRef.num == -1)) {
+ if ((annotTitle == nullptr) && (annotRef.num == -1)) {
error(errSyntaxError, -1,
"Movie action is missing both the Annot and T keys");
}
@@ -608,7 +608,7 @@
sync = gFalse;
repeat = gFalse;
mix = gFalse;
- sound = NULL;
+ sound = nullptr;
if (soundObj->isDict())
{
// volume
@@ -647,8 +647,8 @@
LinkRendition::LinkRendition(Object *obj) {
operation = NoRendition;
- media = NULL;
- js = NULL;
+ media = nullptr;
+ js = nullptr;
int operationCode = -1;
if (obj->isDict()) {
@@ -671,8 +671,6 @@
if (!js && (operationCode < 0 || operationCode > 4)) {
error(errSyntaxWarning, -1, "Invalid Rendition Action: unrecognized operation valued: {0:d}", operationCode);
} else {
- Object obj1;
-
// retrieve rendition object
renditionObj = obj->dictLookup("R");
if (renditionObj.isDict()) {
@@ -723,7 +721,7 @@
//------------------------------------------------------------------------
LinkJavaScript::LinkJavaScript(Object *jsObj) {
- js = NULL;
+ js = nullptr;
if (jsObj->isString()) {
js = new GooString(jsObj->getString());
@@ -750,7 +748,7 @@
Object obj1 = obj->dictLookup("State");
if (obj1.isArray()) {
- StateList *stList = NULL;
+ StateList *stList = nullptr;
for (int i = 0; i < obj1.arrayGetLength(); ++i) {
Object obj2 = obj1.arrayGetNF(i);
@@ -770,7 +768,7 @@
} else {
error(errSyntaxWarning, -1, "Invalid name '{0:s}' in OCG Action state array", name);
delete stList;
- stList = NULL;
+ stList = nullptr;
}
} else if (obj2.isRef()) {
if (stList) {
@@ -792,7 +790,7 @@
} else {
error(errSyntaxWarning, -1, "Invalid OCGState action");
delete stateList;
- stateList = NULL;
+ stateList = nullptr;
}
obj1 = obj->dictLookup("PreserveRB");
@@ -831,7 +829,7 @@
int size;
int i;
- links = NULL;
+ links = nullptr;
size = 0;
numLinks = 0;
@@ -870,7 +868,7 @@
return links[i]->getAction();
}
}
- return NULL;
+ return nullptr;
}
GBool Links::onLink(double x, double y) const {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Link.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -17,6 +17,7 @@
// Copyright (C) 2008 Hugo Mercier <hmercier31 at gmail.com>
// Copyright (C) 2010, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
// Copyright (C) 2012 Tobias Koening <tobias.koenig at kdab.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -62,6 +63,10 @@
class LinkAction {
public:
+ LinkAction() = default;
+ LinkAction(const LinkAction &) = delete;
+ LinkAction& operator=(const LinkAction &other) = delete;
+
// Destructor.
virtual ~LinkAction() {}
@@ -429,8 +434,10 @@
enum State { On, Off, Toggle};
struct StateList {
- StateList() { list = NULL; }
+ StateList() { list = nullptr; }
~StateList();
+ StateList(const StateList &) = delete;
+ StateList& operator=(const StateList &) = delete;
State st;
GooList *list;
};
@@ -481,6 +488,9 @@
// Destructor.
~Links();
+ Links(const Links &) = delete;
+ Links& operator=(const Links &) = delete;
+
// Iterate through list of links.
int getNumLinks() const { return numLinks; }
AnnotLink *getLink(int i) const { return links[i]; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -18,12 +18,12 @@
MarkedContentOutputDev::MarkedContentOutputDev(int mcidA):
- currentFont(NULL),
- currentText(NULL),
+ currentFont(nullptr),
+ currentText(nullptr),
mcid(mcidA),
pageWidth(0.0),
pageHeight(0.0),
- unicodeMap(NULL)
+ unicodeMap(nullptr)
{
currentColor.r = currentColor.g = currentColor.b = 0;
}
@@ -48,7 +48,7 @@
currentFont,
currentColor));
}
- currentText = NULL;
+ currentText = nullptr;
}
@@ -73,7 +73,7 @@
{
int id = -1;
if (properties)
- properties->lookupInt("MCID", NULL, &id);
+ properties->lookupInt("MCID", nullptr, &id);
if (id == -1)
return;
@@ -102,9 +102,9 @@
return gFalse;
if (!currentFont)
- return font != NULL && font->isOk();
+ return font != nullptr && font->isOk();
- if (font == NULL)
+ if (font == nullptr)
return gTrue;
// Two non-null valid fonts are the same if they point to the same Ref
@@ -154,11 +154,11 @@
currentColor = color;
if (fontChange) {
- if (currentFont != NULL) {
+ if (currentFont != nullptr) {
currentFont->decRefCnt();
- currentFont = NULL;
+ currentFont = nullptr;
}
- if (state->getFont() != NULL) {
+ if (state->getFont() != nullptr) {
currentFont = state->getFont();
currentFont->incRefCnt();
}
@@ -197,7 +197,7 @@
char buf[8];
int n = unicodeMap->mapUnicode(u[i], buf, sizeof(buf));
if (n > 0) {
- if (currentText == NULL)
+ if (currentText == nullptr)
currentText = new GooString();
currentText->append(buf, n);
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/MarkedContentOutputDev.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -5,6 +5,7 @@
// This file is licensed under the GPLv2 or later
//
// Copyright 2013 Igalia S.L.
+// Copyright 2018 Albert Astals Cid <aacid at kde.org>
//
//========================================================================
@@ -72,6 +73,9 @@
font->decRefCnt();
delete text;
}
+
+ Data(const Data &) = delete;
+ Data& operator=(const Data &) = delete;
};
Data *data;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -173,7 +173,7 @@
}
void Movie::parseMovie (Object *movieDict) {
- fileName = NULL;
+ fileName = nullptr;
rotationAngle = 0;
width = -1;
height = -1;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Movie.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -5,7 +5,7 @@
//---------------------------------------------------------------------------------
// Hugo Mercier <hmercier31[at]gmail.com> (c) 2008
// Carlos Garcia Campos <carlosgc at gnome.org> (c) 2010
-// Albert Astals Cid <aacid at kde.org> (c) 2017
+// Albert Astals Cid <aacid at kde.org> (c) 2017, 2018
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
@@ -74,6 +74,7 @@
Movie(Object *objMovie);
Movie(const Movie &movie);
~Movie();
+ Movie& operator=(const Movie &) = delete;
GBool isOk() { return ok; }
MovieActivationParameters* getActivationParameters() { return &MA; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -32,7 +32,7 @@
len = 0;
tab = (NameToCharCodeEntry *)gmallocn(size, sizeof(NameToCharCodeEntry));
for (i = 0; i < size; ++i) {
- tab[i].name = NULL;
+ tab[i].name = nullptr;
}
}
@@ -58,7 +58,7 @@
size = 2*size + 1;
tab = (NameToCharCodeEntry *)gmallocn(size, sizeof(NameToCharCodeEntry));
for (h = 0; h < size; ++h) {
- tab[h].name = NULL;
+ tab[h].name = nullptr;
}
for (i = 0; i < oldSize; ++i) {
if (oldTab[i].name) {
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/NameToCharCode.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -6,6 +6,20 @@
//
//========================================================================
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
#ifndef NAMETOCHARCODE_H
#define NAMETOCHARCODE_H
@@ -25,6 +39,9 @@
NameToCharCode();
~NameToCharCode();
+ NameToCharCode(const NameToCharCode &) = delete;
+ NameToCharCode& operator=(const NameToCharCode &) = delete;
+
void add(const char *name, CharCode c);
CharCode lookup(const char *name);
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/NameToUnicodeTable.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/NameToUnicodeTable.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/NameToUnicodeTable.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -4274,7 +4274,7 @@
{0x007c, "|"},
{0x007d, "}"},
{0x007e, "~"},
- { 0, NULL }
+ { 0, nullptr }
};
// map ZapfDingbats names to Unicode
@@ -4480,5 +4480,5 @@
{0x275c, "a98"},
{0x275d, "a99"},
{0x2720, "a9"},
- { 0, NULL }
+ { 0, nullptr }
};
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Object.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Object.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Object.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -19,7 +19,7 @@
// Copyright (C) 2009 Jakub Wilk <jwilk at jwilk.net>
// Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
-// Copyright (C) 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2013, 2017, 2018 Adrian Johnson <ajohnson at redneon.com>
// Copyright (C) 2013 Adrian Perez de Castro <aperez at igalia.com>
// Copyright (C) 2016 Jakub Alba <jakubalba at gmail.com>
//
@@ -86,6 +86,14 @@
int gen; // generation number
};
+struct RefCompare {
+ bool operator() (const Ref& lhs, const Ref& rhs) const {
+ if (lhs.num != rhs.num)
+ return lhs.num < rhs.num;
+ return lhs.gen < rhs.gen;
+ }
+};
+
//------------------------------------------------------------------------
// object types
//------------------------------------------------------------------------
@@ -137,7 +145,7 @@
class Object {
public:
// clear the anonymous union as best we can -- clear at least a pointer
- void zeroUnion() { this->cString = NULL; }
+ void zeroUnion() { this->cString = nullptr; }
// Default constructor.
Object():
@@ -232,7 +240,7 @@
// After takeString() the only method that should be called for the object is free()
// because the object it's not expected to have a NULL string.
GooString *takeString() {
- OBJECT_TYPE_CHECK(objString); GooString *s = string; string = NULL; return s; }
+ OBJECT_TYPE_CHECK(objString); GooString *s = string; string = nullptr; return s; }
char *getName() const { OBJECT_TYPE_CHECK(objName); return cString; }
Array *getArray() const { OBJECT_TYPE_CHECK(objArray); return array; }
Dict *getDict() const { OBJECT_TYPE_CHECK(objDict); return dict; }
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -41,7 +41,7 @@
// we need to parse the dictionary here, and build optionalContentGroups
ok = gTrue;
optionalContentGroups = new GooList();
- display = NULL;
+ display = nullptr;
Object ocgList = ocgObject->dictLookup("OCGs");
if (!ocgList.isArray()) {
@@ -141,7 +141,7 @@
OptionalContentGroup* OCGs::findOcgByRef( const Ref &ref)
{
//TODO: make this more efficient
- OptionalContentGroup *ocg = NULL;
+ OptionalContentGroup *ocg = nullptr;
for (int i=0; i < optionalContentGroups->getLength(); ++i) {
ocg = (OptionalContentGroup*)optionalContentGroups->get(i);
if ( (ocg->getRef().num == ref.num) && (ocg->getRef().gen == ref.gen) ) {
@@ -150,7 +150,7 @@
}
// not found
- return NULL;
+ return nullptr;
}
OCDisplayNode *OCGs::getDisplayRoot()
@@ -331,7 +331,7 @@
//------------------------------------------------------------------------
-OptionalContentGroup::OptionalContentGroup(Dict *ocgDict) : m_name(NULL)
+OptionalContentGroup::OptionalContentGroup(Dict *ocgDict) : m_name(nullptr)
{
Object ocgName = ocgDict->lookup("Name");
if (!ocgName.isString()) {
@@ -404,7 +404,7 @@
if (recursion > displayNodeRecursionLimit) {
error(errSyntaxError, -1, "Loop detected in optional content order");
- return NULL;
+ return nullptr;
}
if (obj->isRef()) {
if ((ocgA = oc->findOcgByRef(obj->getRef()))) {
@@ -413,7 +413,7 @@
}
Object obj2 = obj->fetch(xref);
if (!obj2.isArray()) {
- return NULL;
+ return nullptr;
}
i = 0;
if (obj2.arrayGetLength() >= 1) {
@@ -442,21 +442,21 @@
}
OCDisplayNode::OCDisplayNode() {
- name = NULL;
- ocg = NULL;
- children = NULL;
+ name = nullptr;
+ ocg = nullptr;
+ children = nullptr;
}
OCDisplayNode::OCDisplayNode(GooString *nameA) {
name = new GooString(nameA);
- ocg = NULL;
- children = NULL;
+ ocg = nullptr;
+ children = nullptr;
}
OCDisplayNode::OCDisplayNode(OptionalContentGroup *ocgA) {
- name = (ocgA->getName()) ? ocgA->getName()->copy() : NULL;
+ name = (ocgA->getName()) ? ocgA->getName()->copy() : nullptr;
ocg = ocgA;
- children = NULL;
+ children = nullptr;
}
void OCDisplayNode::addChild(OCDisplayNode *child) {
@@ -478,7 +478,7 @@
GooList *childrenA;
childrenA = children;
- children = NULL;
+ children = nullptr;
return childrenA;
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/OptionalContent.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -4,7 +4,7 @@
//
// Copyright 2007 Brad Hards <bradh at kde.org>
// Copyright 2008 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright 2013 Albert Astals Cid <aacid at kde.org>
+// Copyright 2013, 2018 Albert Astals Cid <aacid at kde.org>
//
// Released under the GPL (version 2, or later, at your option)
//
@@ -35,6 +35,9 @@
OCGs(Object *ocgObject, XRef *xref);
~OCGs();
+ OCGs(const OCGs &) = delete;
+ OCGs& operator=(const OCGs &) = delete;
+
// Is OCGS valid?
GBool isOk() { return ok; }
@@ -90,6 +93,9 @@
~OptionalContentGroup();
+ OptionalContentGroup(const OptionalContentGroup &) = delete;
+ OptionalContentGroup& operator=(const OptionalContentGroup &) = delete;
+
GooString* getName() const;
Ref getRef() const;
@@ -118,6 +124,9 @@
OCDisplayNode();
~OCDisplayNode();
+ OCDisplayNode(const OCDisplayNode &) = delete;
+ OCDisplayNode& operator=(const OCDisplayNode &) = delete;
+
GooString *getName() { return name; }
OptionalContentGroup *getOCG() { return ocg; }
int getNumChildren();
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -47,7 +47,7 @@
return;
}
Object first = outlineObj->dictLookupNF("First");
- items = OutlineItem::readItemList(&first, xref);
+ items = OutlineItem::readItemList(nullptr, &first, xref);
}
Outline::~Outline() {
@@ -58,13 +58,15 @@
//------------------------------------------------------------------------
-OutlineItem::OutlineItem(Dict *dict, XRef *xrefA) {
+OutlineItem::OutlineItem(Dict *dict, int refNumA, OutlineItem *parentA, XRef *xrefA) {
Object obj1;
+ refNum = refNumA;
+ parent = parentA;
xref = xrefA;
- title = NULL;
- action = NULL;
- kids = NULL;
+ title = nullptr;
+ action = nullptr;
+ kids = nullptr;
obj1 = dict->lookup("Title");
@@ -108,21 +110,22 @@
}
}
-GooList *OutlineItem::readItemList(Object *firstItemRef, XRef *xrefA) {
- GooList *items;
- char* alreadyRead;
- OutlineItem *item;
- Object *p;
+GooList *OutlineItem::readItemList(OutlineItem *parent, Object *firstItemRef, XRef *xrefA) {
+ GooList *items = new GooList();
- items = new GooList();
-
- alreadyRead = (char *)gmalloc(xrefA->getNumObjects());
+ char* alreadyRead = (char *)gmalloc(xrefA->getNumObjects());
memset(alreadyRead, 0, xrefA->getNumObjects());
- p = firstItemRef;
+ OutlineItem *parentO = parent;
+ while (parentO) {
+ alreadyRead[parentO->refNum] = 1;
+ parentO = parentO->parent;
+ }
+
+ Object *p = firstItemRef;
while (p->isRef() &&
(p->getRefNum() >= 0) &&
- (p->getRefNum() < xrefA->getNumObjects()) &&
+ (p->getRefNum() < xrefA->getNumObjects()) &&
!alreadyRead[p->getRefNum()]) {
Object obj = p->fetch(xrefA);
if (!obj.isDict()) {
@@ -129,7 +132,7 @@
break;
}
alreadyRead[p->getRefNum()] = 1;
- item = new OutlineItem(obj.getDict(), xrefA);
+ OutlineItem *item = new OutlineItem(obj.getDict(), p->getRefNum(), parent, xrefA);
items->append(item);
p = &item->nextRef;
}
@@ -138,7 +141,7 @@
if (!items->getLength()) {
delete items;
- items = NULL;
+ items = nullptr;
}
return items;
@@ -146,7 +149,7 @@
void OutlineItem::open() {
if (!kids) {
- kids = readItemList(&firstRef, xref);
+ kids = readItemList(this, &firstRef, xref);
}
}
@@ -153,6 +156,6 @@
void OutlineItem::close() {
if (kids) {
deleteGooList(kids, OutlineItem);
- kids = NULL;
+ kids = nullptr;
}
}
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.h
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.h 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/Outline.h 2018-03-18 21:59:37 UTC (rev 47014)
@@ -14,7 +14,7 @@
// under GPL version 2 or later
//
// Copyright (C) 2005 Marco Pesenti Gritti <mpg at redhat.com>
-// Copyright (C) 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2016, 2018 Albert Astals Cid <aacid at kde.org>
//
// To see a description of the changes please see the Changelog file that
// came with your tarball or type make ChangeLog if you are building from git
@@ -44,6 +44,9 @@
Outline(Object *outlineObj, XRef *xref);
~Outline();
+ Outline(const Outline &) = delete;
+ Outline& operator=(const Outline &) = delete;
+
GooList *getItems() { return items; }
private:
@@ -57,11 +60,14 @@
class OutlineItem {
public:
- OutlineItem(Dict *dict, XRef *xrefA);
+ OutlineItem(Dict *dict, int refNumA, OutlineItem *parentA, XRef *xrefA);
~OutlineItem();
- static GooList *readItemList(Object *firstItemRef, XRef *xrefA);
+ OutlineItem(const OutlineItem &) = delete;
+ OutlineItem& operator=(const OutlineItem &) = delete;
+ static GooList *readItemList(OutlineItem *parent, Object *firstItemRef, XRef *xrefA);
+
void open();
void close();
@@ -74,6 +80,8 @@
private:
+ int refNum;
+ OutlineItem *parent;
XRef *xref;
Unicode *title;
int titleLen;
Modified: trunk/Build/source/libs/poppler/poppler-src/poppler/OutputDev.cc
===================================================================
--- trunk/Build/source/libs/poppler/poppler-src/poppler/OutputDev.cc 2018-03-18 21:59:15 UTC (rev 47013)
+++ trunk/Build/source/libs/poppler/poppler-src/poppler/OutputDev.cc 2018-03-18 21:59:37 UTC (rev 47014)
@@ -143,7 +143,7 @@
int maskWidth, int maskHeight,
GBool maskInvert,
GBool maskInterpolate) {
- drawImage(state, ref, str, width, height, colorMap, interpolate, NULL, gFalse);
+ drawImage(state, ref, str, width, height, colorMap, interpolate, nullptr, gFalse);
}
void OutputDev::drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
@@ -154,7 +154,7 @@
int maskWidth, int maskHeight,
GfxImageColorMap *maskColor