node-poppler 5.1.4 → 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/package.json +10 -10
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Annot.h +0 -1783
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/AnnotStampImageHelper.h +0 -68
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Array.h +0 -92
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/BBoxOutputDev.h +0 -54
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CMap.h +0 -128
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CachedFile.h +0 -149
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CairoFontEngine.h +0 -122
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CairoOutputDev.h +0 -468
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CairoRescaleBox.h +0 -60
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Catalog.h +0 -318
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CertificateInfo.h +0 -129
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CharCodeToUnicode.h +0 -143
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CharTypes.h +0 -24
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CurlCachedFile.h +0 -37
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/CurlPDFDocBuilder.h +0 -32
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/DateInfo.h +0 -44
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Decrypt.h +0 -147
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Dict.h +0 -126
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Error.h +0 -59
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/ErrorCodes.h +0 -54
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FDPDFDocBuilder.h +0 -36
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FILECacheLoader.h +0 -34
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FileSpec.h +0 -85
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FontEncodingTables.h +0 -20
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/FontInfo.h +0 -109
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Form.h +0 -734
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Function.h +0 -251
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Gfx.h +0 -373
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GfxFont.h +0 -466
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GfxState.h +0 -1759
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GfxState_helpers.h +0 -90
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/GlobalParams.h +0 -221
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Hints.h +0 -91
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JArithmeticDecoder.h +0 -131
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JBIG2Stream.h +0 -130
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JPEG2000Stream.h +0 -54
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/JSInfo.h +0 -65
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Lexer.h +0 -113
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Linearization.h +0 -43
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Link.h +0 -566
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/LocalPDFDocBuilder.h +0 -32
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/MarkedContentOutputDev.h +0 -132
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Movie.h +0 -123
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/NameToCharCode.h +0 -52
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/NameToUnicodeTable.h +0 -4300
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Object.h +0 -678
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/OptionalContent.h +0 -117
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Outline.h +0 -122
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/OutputDev.h +0 -379
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDoc.h +0 -419
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDocBuilder.h +0 -47
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDocEncoding.h +0 -43
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PDFDocFactory.h +0 -58
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PSOutputDev.h +0 -549
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PSTokenizer.h +0 -47
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Page.h +0 -273
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PageTransition.h +0 -105
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Parser.h +0 -76
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PopplerCache.h +0 -65
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/PreScanOutputDev.h +0 -148
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/ProfileData.h +0 -35
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Rendition.h +0 -164
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/SecurityHandler.h +0 -131
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Sound.h +0 -82
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/SplashOutputDev.h +0 -413
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Stream-CCITT.h +0 -334
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/Stream.h +0 -1504
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/StructElement.h +0 -406
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/StructTreeRoot.h +0 -89
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/TextOutputDev.h +0 -918
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UTF.h +0 -112
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeCClassTables.h +0 -983
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeCompTables.h +0 -328
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeDecompTables.h +0 -7181
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeMap.h +0 -128
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeMapFuncs.h +0 -35
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeMapTables.h +0 -84
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/UnicodeTypeTable.h +0 -49
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/ViewerPreferences.h +0 -87
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/XRef.h +0 -325
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-destination.h +0 -69
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-document.h +0 -135
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-embedded-file.h +0 -55
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-font-private.h +0 -68
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-font.h +0 -95
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-global.h +0 -132
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-image.h +0 -74
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-page-renderer.h +0 -77
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-page-transition.h +0 -85
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-page.h +0 -225
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-rectangle.h +0 -66
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-toc.h +0 -72
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler-version.h +0 -39
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/cpp/poppler_cpp_export.h +0 -42
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiBase.h +0 -66
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiEncodings.h +0 -43
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiIdentifier.h +0 -52
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiTrueType.h +0 -190
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiType1.h +0 -70
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/fofi/FoFiType1C.h +0 -263
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-action.h +0 -454
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-annot.h +0 -333
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-attachment.h +0 -123
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-date.h +0 -32
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-document.h +0 -541
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-enums.h +0 -191
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-features.h +0 -88
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-form-field.h +0 -254
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-layer.h +0 -50
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-macros.h +0 -42
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-media.h +0 -80
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-movie.h +0 -81
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-page.h +0 -424
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler-structure-element.h +0 -425
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/glib/poppler.h +0 -259
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooCheckedOps.h +0 -116
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooLikely.h +0 -22
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooString.h +0 -262
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/GooTimer.h +0 -59
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/ImgWriter.h +0 -39
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/JpegWriter.h +0 -69
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/PNGWriter.h +0 -68
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/TiffWriter.h +0 -70
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gdir.h +0 -96
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gfile.h +0 -156
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gmem.h +0 -201
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/grandom.h +0 -21
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/goo/gstrtod.h +0 -45
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/poppler-config.h +0 -155
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/poppler_private_export.h +0 -42
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/Splash.h +0 -336
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashBitmap.h +0 -127
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashClip.h +0 -131
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashErrorCodes.h +0 -50
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFTFont.h +0 -71
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFTFontEngine.h +0 -72
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFTFontFile.h +0 -64
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFont.h +0 -116
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFontEngine.h +0 -89
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFontFile.h +0 -98
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashFontFileID.h +0 -40
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashGlyphBitmap.h +0 -23
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashMath.h +0 -215
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashPath.h +0 -138
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashPattern.h +0 -107
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashScreen.h +0 -87
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashState.h +0 -132
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashTypes.h +0 -248
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashXPath.h +0 -95
- package/src/lib/win32/poppler-22.04.0/Library/include/poppler/splash/SplashXPathScanner.h +0 -136
- package/src/lib/win32/poppler-22.04.0/Library/lib/pkgconfig/poppler-cpp.pc +0 -12
- package/src/lib/win32/poppler-22.04.0/Library/lib/pkgconfig/poppler-glib.pc +0 -12
- package/src/lib/win32/poppler-22.04.0/Library/lib/pkgconfig/poppler.pc +0 -10
- package/src/lib/win32/poppler-22.04.0/Library/lib/poppler-cpp.lib +0 -0
- package/src/lib/win32/poppler-22.04.0/Library/lib/poppler-glib.lib +0 -0
- package/src/lib/win32/poppler-22.04.0/Library/lib/poppler.lib +0 -0
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfattach.1 +0 -60
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfdetach.1 +0 -94
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdffonts.1 +0 -128
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfimages.1 +0 -265
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfinfo.1 +0 -198
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfseparate.1 +0 -60
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftocairo.1 +0 -346
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftohtml.1 +0 -118
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftoppm.1 +0 -230
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftops.1 +0 -267
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdftotext.1 +0 -157
- package/src/lib/win32/poppler-22.04.0/Library/share/man/man1/pdfunite.1 +0 -43
- package/src/lib/win32/poppler-22.04.0/share/poppler/CMakeLists.txt +0 -309
- package/src/lib/win32/poppler-22.04.0/share/poppler/Makefile +0 -333
|
@@ -1,131 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashClip.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2010, 2018, 2021 Albert Astals Cid <aacid@kde.org>
|
|
15
|
-
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
|
|
16
|
-
// Copyright (C) 2019 Stefan Brüns <stefan.bruens@rwth-aachen.de>
|
|
17
|
-
//
|
|
18
|
-
// To see a description of the changes please see the Changelog file that
|
|
19
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
20
|
-
//
|
|
21
|
-
//========================================================================
|
|
22
|
-
|
|
23
|
-
#ifndef SPLASHCLIP_H
|
|
24
|
-
#define SPLASHCLIP_H
|
|
25
|
-
|
|
26
|
-
#include "SplashTypes.h"
|
|
27
|
-
|
|
28
|
-
#include <memory>
|
|
29
|
-
#include <vector>
|
|
30
|
-
|
|
31
|
-
class SplashPath;
|
|
32
|
-
class SplashXPath;
|
|
33
|
-
class SplashXPathScanner;
|
|
34
|
-
class SplashBitmap;
|
|
35
|
-
|
|
36
|
-
//------------------------------------------------------------------------
|
|
37
|
-
|
|
38
|
-
enum SplashClipResult
|
|
39
|
-
{
|
|
40
|
-
splashClipAllInside,
|
|
41
|
-
splashClipAllOutside,
|
|
42
|
-
splashClipPartial
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
//------------------------------------------------------------------------
|
|
46
|
-
// SplashClip
|
|
47
|
-
//------------------------------------------------------------------------
|
|
48
|
-
|
|
49
|
-
class SplashClip
|
|
50
|
-
{
|
|
51
|
-
public:
|
|
52
|
-
// Create a clip, for the given rectangle.
|
|
53
|
-
SplashClip(SplashCoord x0, SplashCoord y0, SplashCoord x1, SplashCoord y1, bool antialiasA);
|
|
54
|
-
|
|
55
|
-
// Copy a clip.
|
|
56
|
-
SplashClip *copy() const { return new SplashClip(this); }
|
|
57
|
-
|
|
58
|
-
~SplashClip();
|
|
59
|
-
|
|
60
|
-
SplashClip(const SplashClip &) = delete;
|
|
61
|
-
SplashClip &operator=(const SplashClip &) = delete;
|
|
62
|
-
|
|
63
|
-
// Reset the clip to a rectangle.
|
|
64
|
-
void resetToRect(SplashCoord x0, SplashCoord y0, SplashCoord x1, SplashCoord y1);
|
|
65
|
-
|
|
66
|
-
// Intersect the clip with a rectangle.
|
|
67
|
-
SplashError clipToRect(SplashCoord x0, SplashCoord y0, SplashCoord x1, SplashCoord y1);
|
|
68
|
-
|
|
69
|
-
// Intersect the clip with <path>.
|
|
70
|
-
SplashError clipToPath(SplashPath *path, SplashCoord *matrix, SplashCoord flatness, bool eo);
|
|
71
|
-
|
|
72
|
-
// Returns true if (<x>,<y>) is inside the clip.
|
|
73
|
-
bool test(int x, int y)
|
|
74
|
-
{
|
|
75
|
-
// check the rectangle
|
|
76
|
-
if (x < xMinI || x > xMaxI || y < yMinI || y > yMaxI) {
|
|
77
|
-
return false;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// check the paths
|
|
81
|
-
return testClipPaths(x, y);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
// Tests a rectangle against the clipping region. Returns one of:
|
|
85
|
-
// - splashClipAllInside if the entire rectangle is inside the
|
|
86
|
-
// clipping region, i.e., all pixels in the rectangle are
|
|
87
|
-
// visible
|
|
88
|
-
// - splashClipAllOutside if the entire rectangle is outside the
|
|
89
|
-
// clipping region, i.e., all the pixels in the rectangle are
|
|
90
|
-
// clipped
|
|
91
|
-
// - splashClipPartial if the rectangle is part inside and part
|
|
92
|
-
// outside the clipping region
|
|
93
|
-
SplashClipResult testRect(int rectXMin, int rectYMin, int rectXMax, int rectYMax);
|
|
94
|
-
|
|
95
|
-
// Similar to testRect, but tests a horizontal span.
|
|
96
|
-
SplashClipResult testSpan(int spanXMin, int spanXMax, int spanY);
|
|
97
|
-
|
|
98
|
-
// Clips an anti-aliased line by setting pixels to zero. On entry,
|
|
99
|
-
// all non-zero pixels are between <x0> and <x1>. This function
|
|
100
|
-
// will update <x0> and <x1>.
|
|
101
|
-
void clipAALine(SplashBitmap *aaBuf, int *x0, int *x1, int y, bool adjustVertLine = false);
|
|
102
|
-
|
|
103
|
-
// Get the rectangle part of the clip region.
|
|
104
|
-
SplashCoord getXMin() { return xMin; }
|
|
105
|
-
SplashCoord getXMax() { return xMax; }
|
|
106
|
-
SplashCoord getYMin() { return yMin; }
|
|
107
|
-
SplashCoord getYMax() { return yMax; }
|
|
108
|
-
|
|
109
|
-
// Get the rectangle part of the clip region, in integer coordinates.
|
|
110
|
-
int getXMinI() { return xMinI; }
|
|
111
|
-
int getXMaxI() { return xMaxI; }
|
|
112
|
-
int getYMinI() { return yMinI; }
|
|
113
|
-
int getYMaxI() { return yMaxI; }
|
|
114
|
-
|
|
115
|
-
// Get the number of arbitrary paths used by the clip region.
|
|
116
|
-
int getNumPaths() { return length; }
|
|
117
|
-
|
|
118
|
-
protected:
|
|
119
|
-
explicit SplashClip(const SplashClip *clip);
|
|
120
|
-
void grow(int nPaths);
|
|
121
|
-
bool testClipPaths(int x, int y);
|
|
122
|
-
|
|
123
|
-
bool antialias;
|
|
124
|
-
SplashCoord xMin, yMin, xMax, yMax;
|
|
125
|
-
int xMinI, yMinI, xMaxI, yMaxI;
|
|
126
|
-
unsigned char *flags;
|
|
127
|
-
std::vector<std::shared_ptr<SplashXPathScanner>> scanners;
|
|
128
|
-
int length, size;
|
|
129
|
-
};
|
|
130
|
-
|
|
131
|
-
#endif
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashErrorCodes.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2006, 2009 Albert Astals Cid <aacid@kde.org>
|
|
15
|
-
//
|
|
16
|
-
// To see a description of the changes please see the Changelog file that
|
|
17
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
18
|
-
//
|
|
19
|
-
//========================================================================
|
|
20
|
-
|
|
21
|
-
#ifndef SPLASHERRORCODES_H
|
|
22
|
-
#define SPLASHERRORCODES_H
|
|
23
|
-
|
|
24
|
-
//------------------------------------------------------------------------
|
|
25
|
-
|
|
26
|
-
#define splashOk 0 // no error
|
|
27
|
-
|
|
28
|
-
#define splashErrNoCurPt 1 // no current point
|
|
29
|
-
|
|
30
|
-
#define splashErrEmptyPath 2 // zero points in path
|
|
31
|
-
|
|
32
|
-
#define splashErrBogusPath 3 // only one point in subpath
|
|
33
|
-
|
|
34
|
-
#define splashErrNoSave 4 // state stack is empty
|
|
35
|
-
|
|
36
|
-
#define splashErrOpenFile 5 // couldn't open file
|
|
37
|
-
|
|
38
|
-
#define splashErrNoGlyph 6 // couldn't get the requested glyph
|
|
39
|
-
|
|
40
|
-
#define splashErrModeMismatch 7 // invalid combination of color modes
|
|
41
|
-
|
|
42
|
-
#define splashErrSingularMatrix 8 // matrix is singular
|
|
43
|
-
|
|
44
|
-
#define splashErrBadArg 9 // bad argument
|
|
45
|
-
|
|
46
|
-
#define splashErrZeroImage 254 // image of 0x0
|
|
47
|
-
|
|
48
|
-
#define splashErrGeneric 255
|
|
49
|
-
|
|
50
|
-
#endif
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashFTFont.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2007-2009, 2011, 2018 Albert Astals Cid <aacid@kde.org>
|
|
15
|
-
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
|
|
16
|
-
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
|
|
17
|
-
// Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
|
|
18
|
-
// Copyright (C) 2018 Oliver Sander <oliver.sander@tu-dresden.de>
|
|
19
|
-
//
|
|
20
|
-
// To see a description of the changes please see the Changelog file that
|
|
21
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
22
|
-
//
|
|
23
|
-
//========================================================================
|
|
24
|
-
|
|
25
|
-
#ifndef SPLASHFTFONT_H
|
|
26
|
-
#define SPLASHFTFONT_H
|
|
27
|
-
|
|
28
|
-
#include "poppler-config.h"
|
|
29
|
-
|
|
30
|
-
#include <ft2build.h>
|
|
31
|
-
#include FT_FREETYPE_H
|
|
32
|
-
#include "SplashFont.h"
|
|
33
|
-
|
|
34
|
-
class SplashFTFontFile;
|
|
35
|
-
|
|
36
|
-
//------------------------------------------------------------------------
|
|
37
|
-
// SplashFTFont
|
|
38
|
-
//------------------------------------------------------------------------
|
|
39
|
-
|
|
40
|
-
class SplashFTFont : public SplashFont
|
|
41
|
-
{
|
|
42
|
-
public:
|
|
43
|
-
SplashFTFont(SplashFTFontFile *fontFileA, SplashCoord *matA, const SplashCoord *textMatA);
|
|
44
|
-
|
|
45
|
-
~SplashFTFont() override;
|
|
46
|
-
|
|
47
|
-
// Munge xFrac and yFrac before calling SplashFont::getGlyph.
|
|
48
|
-
bool getGlyph(int c, int xFrac, int yFrac, SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) override;
|
|
49
|
-
|
|
50
|
-
// Rasterize a glyph. The <xFrac> and <yFrac> values are the same
|
|
51
|
-
// as described for getGlyph.
|
|
52
|
-
bool makeGlyph(int c, int xFrac, int yFrac, SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) override;
|
|
53
|
-
|
|
54
|
-
// Return the path for a glyph.
|
|
55
|
-
SplashPath *getGlyphPath(int c) override;
|
|
56
|
-
|
|
57
|
-
// Return the advance of a glyph. (in 0..1 range)
|
|
58
|
-
double getGlyphAdvance(int c) override;
|
|
59
|
-
|
|
60
|
-
private:
|
|
61
|
-
FT_Size sizeObj;
|
|
62
|
-
FT_Matrix matrix;
|
|
63
|
-
FT_Matrix textMatrix;
|
|
64
|
-
SplashCoord textScale;
|
|
65
|
-
int size;
|
|
66
|
-
bool enableFreeTypeHinting;
|
|
67
|
-
bool enableSlightHinting;
|
|
68
|
-
bool isOk;
|
|
69
|
-
};
|
|
70
|
-
|
|
71
|
-
#endif
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashFTFontEngine.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
|
|
15
|
-
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
|
|
16
|
-
// Copyright (C) 2009, 2018, 2022 Albert Astals Cid <aacid@kde.org>
|
|
17
|
-
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
|
|
18
|
-
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
|
|
19
|
-
// Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
|
|
20
|
-
//
|
|
21
|
-
// To see a description of the changes please see the Changelog file that
|
|
22
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
23
|
-
//
|
|
24
|
-
//========================================================================
|
|
25
|
-
|
|
26
|
-
#ifndef SPLASHFTFONTENGINE_H
|
|
27
|
-
#define SPLASHFTFONTENGINE_H
|
|
28
|
-
|
|
29
|
-
#include <ft2build.h>
|
|
30
|
-
#include FT_FREETYPE_H
|
|
31
|
-
|
|
32
|
-
class SplashFontFile;
|
|
33
|
-
class SplashFontFileID;
|
|
34
|
-
class SplashFontSrc;
|
|
35
|
-
|
|
36
|
-
//------------------------------------------------------------------------
|
|
37
|
-
// SplashFTFontEngine
|
|
38
|
-
//------------------------------------------------------------------------
|
|
39
|
-
|
|
40
|
-
class SplashFTFontEngine
|
|
41
|
-
{
|
|
42
|
-
public:
|
|
43
|
-
static SplashFTFontEngine *init(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHinting);
|
|
44
|
-
|
|
45
|
-
~SplashFTFontEngine();
|
|
46
|
-
|
|
47
|
-
SplashFTFontEngine(const SplashFTFontEngine &) = delete;
|
|
48
|
-
SplashFTFontEngine &operator=(const SplashFTFontEngine &) = delete;
|
|
49
|
-
|
|
50
|
-
// Load fonts.
|
|
51
|
-
SplashFontFile *loadType1Font(SplashFontFileID *idA, SplashFontSrc *src, const char **enc);
|
|
52
|
-
SplashFontFile *loadType1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc);
|
|
53
|
-
SplashFontFile *loadOpenTypeT1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc);
|
|
54
|
-
SplashFontFile *loadCIDFont(SplashFontFileID *idA, SplashFontSrc *src);
|
|
55
|
-
SplashFontFile *loadOpenTypeCFFFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen);
|
|
56
|
-
SplashFontFile *loadTrueTypeFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen, int faceIndex = 0);
|
|
57
|
-
bool getAA() { return aa; }
|
|
58
|
-
void setAA(bool aaA) { aa = aaA; }
|
|
59
|
-
|
|
60
|
-
private:
|
|
61
|
-
SplashFTFontEngine(bool aaA, bool enableFreeTypeHintingA, bool enableSlightHintingA, FT_Library libA);
|
|
62
|
-
|
|
63
|
-
bool aa;
|
|
64
|
-
bool enableFreeTypeHinting;
|
|
65
|
-
bool enableSlightHinting;
|
|
66
|
-
FT_Library lib;
|
|
67
|
-
|
|
68
|
-
friend class SplashFTFontFile;
|
|
69
|
-
friend class SplashFTFont;
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
#endif
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashFTFontFile.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
|
|
15
|
-
// Copyright (C) 2017, 2018 Oliver Sander <oliver.sander@tu-dresden.de>
|
|
16
|
-
// Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
|
|
17
|
-
// Copyright (C) 2019 Albert Astals Cid <aacid@kde.org>
|
|
18
|
-
//
|
|
19
|
-
// To see a description of the changes please see the Changelog file that
|
|
20
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
21
|
-
//
|
|
22
|
-
//========================================================================
|
|
23
|
-
|
|
24
|
-
#ifndef SPLASHFTFONTFILE_H
|
|
25
|
-
#define SPLASHFTFONTFILE_H
|
|
26
|
-
|
|
27
|
-
#include <ft2build.h>
|
|
28
|
-
#include FT_FREETYPE_H
|
|
29
|
-
#include "SplashFontFile.h"
|
|
30
|
-
|
|
31
|
-
class SplashFontFileID;
|
|
32
|
-
class SplashFTFontEngine;
|
|
33
|
-
|
|
34
|
-
//------------------------------------------------------------------------
|
|
35
|
-
// SplashFTFontFile
|
|
36
|
-
//------------------------------------------------------------------------
|
|
37
|
-
|
|
38
|
-
class SplashFTFontFile : public SplashFontFile
|
|
39
|
-
{
|
|
40
|
-
public:
|
|
41
|
-
static SplashFontFile *loadType1Font(SplashFTFontEngine *engineA, SplashFontFileID *idA, SplashFontSrc *src, const char **encA);
|
|
42
|
-
static SplashFontFile *loadCIDFont(SplashFTFontEngine *engineA, SplashFontFileID *idA, SplashFontSrc *src, int *codeToGIDA, int codeToGIDLenA);
|
|
43
|
-
static SplashFontFile *loadTrueTypeFont(SplashFTFontEngine *engineA, SplashFontFileID *idA, SplashFontSrc *src, int *codeToGIDA, int codeToGIDLenA, int faceIndexA = 0);
|
|
44
|
-
|
|
45
|
-
~SplashFTFontFile() override;
|
|
46
|
-
|
|
47
|
-
// Create a new SplashFTFont, i.e., a scaled instance of this font
|
|
48
|
-
// file.
|
|
49
|
-
SplashFont *makeFont(SplashCoord *mat, const SplashCoord *textMat) override;
|
|
50
|
-
|
|
51
|
-
private:
|
|
52
|
-
SplashFTFontFile(SplashFTFontEngine *engineA, SplashFontFileID *idA, SplashFontSrc *src, FT_Face faceA, int *codeToGIDA, int codeToGIDLenA, bool trueTypeA, bool type1A);
|
|
53
|
-
|
|
54
|
-
SplashFTFontEngine *engine;
|
|
55
|
-
FT_Face face;
|
|
56
|
-
int *codeToGID;
|
|
57
|
-
int codeToGIDLen;
|
|
58
|
-
bool trueType;
|
|
59
|
-
bool type1;
|
|
60
|
-
|
|
61
|
-
friend class SplashFTFont;
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
#endif
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashFont.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2007-2008, 2018, 2019 Albert Astals Cid <aacid@kde.org>
|
|
15
|
-
// Copyright (C) 2018 Oliver Sander <oliver.sander@tu-dresden.de>
|
|
16
|
-
//
|
|
17
|
-
// To see a description of the changes please see the Changelog file that
|
|
18
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
19
|
-
//
|
|
20
|
-
//========================================================================
|
|
21
|
-
|
|
22
|
-
#ifndef SPLASHFONT_H
|
|
23
|
-
#define SPLASHFONT_H
|
|
24
|
-
|
|
25
|
-
#include "SplashTypes.h"
|
|
26
|
-
#include "SplashClip.h"
|
|
27
|
-
|
|
28
|
-
struct SplashGlyphBitmap;
|
|
29
|
-
struct SplashFontCacheTag;
|
|
30
|
-
class SplashFontFile;
|
|
31
|
-
class SplashPath;
|
|
32
|
-
|
|
33
|
-
//------------------------------------------------------------------------
|
|
34
|
-
|
|
35
|
-
// Fractional positioning uses this many bits to the right of the
|
|
36
|
-
// decimal points.
|
|
37
|
-
#define splashFontFractionBits 2
|
|
38
|
-
#define splashFontFraction (1 << splashFontFractionBits)
|
|
39
|
-
#define splashFontFractionMul ((SplashCoord)1 / (SplashCoord)splashFontFraction)
|
|
40
|
-
|
|
41
|
-
//------------------------------------------------------------------------
|
|
42
|
-
// SplashFont
|
|
43
|
-
//------------------------------------------------------------------------
|
|
44
|
-
|
|
45
|
-
class SplashFont
|
|
46
|
-
{
|
|
47
|
-
public:
|
|
48
|
-
SplashFont(SplashFontFile *fontFileA, const SplashCoord *matA, const SplashCoord *textMatA, bool aaA);
|
|
49
|
-
|
|
50
|
-
// This must be called after the constructor, so that the subclass
|
|
51
|
-
// constructor has a chance to compute the bbox.
|
|
52
|
-
void initCache();
|
|
53
|
-
|
|
54
|
-
virtual ~SplashFont();
|
|
55
|
-
|
|
56
|
-
SplashFont(const SplashFont &) = delete;
|
|
57
|
-
SplashFont &operator=(const SplashFont &) = delete;
|
|
58
|
-
|
|
59
|
-
SplashFontFile *getFontFile() { return fontFile; }
|
|
60
|
-
|
|
61
|
-
// Return true if <this> matches the specified font file and matrix.
|
|
62
|
-
bool matches(SplashFontFile *fontFileA, const SplashCoord *matA, const SplashCoord *textMatA) const
|
|
63
|
-
{
|
|
64
|
-
return fontFileA == fontFile && matA[0] == mat[0] && matA[1] == mat[1] && matA[2] == mat[2] && matA[3] == mat[3] && textMatA[0] == textMat[0] && textMatA[1] == textMat[1] && textMatA[2] == textMat[2] && textMatA[3] == textMat[3];
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// Get a glyph - this does a cache lookup first, and if not found,
|
|
68
|
-
// creates a new bitmap and adds it to the cache. The <xFrac> and
|
|
69
|
-
// <yFrac> values are splashFontFractionBits bits each, representing
|
|
70
|
-
// the numerators of fractions in [0, 1), where the denominator is
|
|
71
|
-
// splashFontFraction = 1 << splashFontFractionBits. Subclasses
|
|
72
|
-
// should override this to zero out xFrac and/or yFrac if they don't
|
|
73
|
-
// support fractional coordinates.
|
|
74
|
-
virtual bool getGlyph(int c, int xFrac, int yFrac, SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes);
|
|
75
|
-
|
|
76
|
-
// Rasterize a glyph. The <xFrac> and <yFrac> values are the same
|
|
77
|
-
// as described for getGlyph.
|
|
78
|
-
virtual bool makeGlyph(int c, int xFrac, int yFrac, SplashGlyphBitmap *bitmap, int x0, int y0, SplashClip *clip, SplashClipResult *clipRes) = 0;
|
|
79
|
-
|
|
80
|
-
// Return the path for a glyph.
|
|
81
|
-
virtual SplashPath *getGlyphPath(int c) = 0;
|
|
82
|
-
|
|
83
|
-
// Return the advance of a glyph. (in 0..1 range)
|
|
84
|
-
// < 0 means not known
|
|
85
|
-
virtual double getGlyphAdvance(int c) { return -1; }
|
|
86
|
-
|
|
87
|
-
// Return the font transform matrix.
|
|
88
|
-
SplashCoord *getMatrix() { return mat; }
|
|
89
|
-
|
|
90
|
-
// Return the glyph bounding box.
|
|
91
|
-
void getBBox(int *xMinA, int *yMinA, int *xMaxA, int *yMaxA)
|
|
92
|
-
{
|
|
93
|
-
*xMinA = xMin;
|
|
94
|
-
*yMinA = yMin;
|
|
95
|
-
*xMaxA = xMax;
|
|
96
|
-
*yMaxA = yMax;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
protected:
|
|
100
|
-
SplashFontFile *fontFile;
|
|
101
|
-
SplashCoord mat[4]; // font transform matrix
|
|
102
|
-
// (text space -> device space)
|
|
103
|
-
SplashCoord textMat[4]; // text transform matrix
|
|
104
|
-
// (text space -> user space)
|
|
105
|
-
bool aa; // anti-aliasing
|
|
106
|
-
int xMin, yMin, xMax, yMax; // glyph bounding box
|
|
107
|
-
unsigned char *cache; // glyph bitmap cache
|
|
108
|
-
SplashFontCacheTag * // cache tags
|
|
109
|
-
cacheTags;
|
|
110
|
-
int glyphW, glyphH; // size of glyph bitmaps
|
|
111
|
-
int glyphSize; // size of glyph bitmaps, in bytes
|
|
112
|
-
int cacheSets; // number of sets in cache
|
|
113
|
-
int cacheAssoc; // cache associativity (glyphs per set)
|
|
114
|
-
};
|
|
115
|
-
|
|
116
|
-
#endif
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
//========================================================================
|
|
2
|
-
//
|
|
3
|
-
// SplashFontEngine.h
|
|
4
|
-
//
|
|
5
|
-
//========================================================================
|
|
6
|
-
|
|
7
|
-
//========================================================================
|
|
8
|
-
//
|
|
9
|
-
// Modified under the Poppler project - http://poppler.freedesktop.org
|
|
10
|
-
//
|
|
11
|
-
// All changes made under the Poppler project to this file are licensed
|
|
12
|
-
// under GPL version 2 or later
|
|
13
|
-
//
|
|
14
|
-
// Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
|
|
15
|
-
// Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
|
|
16
|
-
// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid@kde.org>
|
|
17
|
-
// Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
|
|
18
|
-
// Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
|
|
19
|
-
// Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
|
|
20
|
-
// Copyright (C) 2018 Oliver Sander <oliver.sander@tu-dresden.de>
|
|
21
|
-
//
|
|
22
|
-
// To see a description of the changes please see the Changelog file that
|
|
23
|
-
// came with your tarball or type make ChangeLog if you are building from git
|
|
24
|
-
//
|
|
25
|
-
//========================================================================
|
|
26
|
-
|
|
27
|
-
#ifndef SPLASHFONTENGINE_H
|
|
28
|
-
#define SPLASHFONTENGINE_H
|
|
29
|
-
|
|
30
|
-
#include <array>
|
|
31
|
-
|
|
32
|
-
#include "SplashTypes.h"
|
|
33
|
-
#include "poppler_private_export.h"
|
|
34
|
-
|
|
35
|
-
class SplashT1FontEngine;
|
|
36
|
-
class SplashFTFontEngine;
|
|
37
|
-
class SplashDTFontEngine;
|
|
38
|
-
class SplashDT4FontEngine;
|
|
39
|
-
class SplashFontFile;
|
|
40
|
-
class SplashFontFileID;
|
|
41
|
-
class SplashFont;
|
|
42
|
-
class SplashFontSrc;
|
|
43
|
-
|
|
44
|
-
//------------------------------------------------------------------------
|
|
45
|
-
// SplashFontEngine
|
|
46
|
-
//------------------------------------------------------------------------
|
|
47
|
-
|
|
48
|
-
class POPPLER_PRIVATE_EXPORT SplashFontEngine
|
|
49
|
-
{
|
|
50
|
-
public:
|
|
51
|
-
// Create a font engine.
|
|
52
|
-
SplashFontEngine(bool enableFreeType, bool enableFreeTypeHinting, bool enableSlightHinting, bool aa);
|
|
53
|
-
|
|
54
|
-
~SplashFontEngine();
|
|
55
|
-
|
|
56
|
-
SplashFontEngine(const SplashFontEngine &) = delete;
|
|
57
|
-
SplashFontEngine &operator=(const SplashFontEngine &) = delete;
|
|
58
|
-
|
|
59
|
-
// Get a font file from the cache. Returns NULL if there is no
|
|
60
|
-
// matching entry in the cache.
|
|
61
|
-
SplashFontFile *getFontFile(SplashFontFileID *id);
|
|
62
|
-
|
|
63
|
-
// Load fonts - these create new SplashFontFile objects.
|
|
64
|
-
SplashFontFile *loadType1Font(SplashFontFileID *idA, SplashFontSrc *src, const char **enc);
|
|
65
|
-
SplashFontFile *loadType1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc);
|
|
66
|
-
SplashFontFile *loadOpenTypeT1CFont(SplashFontFileID *idA, SplashFontSrc *src, const char **enc);
|
|
67
|
-
SplashFontFile *loadCIDFont(SplashFontFileID *idA, SplashFontSrc *src);
|
|
68
|
-
SplashFontFile *loadOpenTypeCFFFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen);
|
|
69
|
-
SplashFontFile *loadTrueTypeFont(SplashFontFileID *idA, SplashFontSrc *src, int *codeToGID, int codeToGIDLen, int faceIndex = 0);
|
|
70
|
-
|
|
71
|
-
// Get a font - this does a cache lookup first, and if not found,
|
|
72
|
-
// creates a new SplashFont object and adds it to the cache. The
|
|
73
|
-
// matrix, mat = textMat * ctm:
|
|
74
|
-
// [ mat[0] mat[1] ]
|
|
75
|
-
// [ mat[2] mat[3] ]
|
|
76
|
-
// specifies the font transform in PostScript style:
|
|
77
|
-
// [x' y'] = [x y] * mat
|
|
78
|
-
// Note that the Splash y axis points downward.
|
|
79
|
-
SplashFont *getFont(SplashFontFile *fontFile, const SplashCoord *textMat, const SplashCoord *ctm);
|
|
80
|
-
bool getAA();
|
|
81
|
-
void setAA(bool aa);
|
|
82
|
-
|
|
83
|
-
private:
|
|
84
|
-
std::array<SplashFont *, 16> fontCache;
|
|
85
|
-
|
|
86
|
-
SplashFTFontEngine *ftEngine;
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
#endif
|