Tags:
create new tag
view all tags

MuPDF Build Sizes

As built on Raspberry PI 3, sizes of Mutool stripped.

The basic size for the MuPDF core is 934,144. (934K)

The maximum size it builds to is 16,702,272. (16.7Meg). The actual size lies somewhere between.

To estimate an upper bound on the size required, start with the core size, and add in various other components to customise our build.

Plotter sizes

We can tune what plotters we build into the code. Only build in the ones required for a given output colorspace (i.e. a mono printer would build in just G, a color laser might build in CMYK, or maybe CMYK + G if it wanted a fast black and white mode).

GreyScale +1,496
RGB +12,896
CMYK +6,096
N +4,840
These figures reflect the fact that we have more optimised cases for RGB and Greyscale plotters than for CMYK and N.

Document handlers

We will need at least 1 document handler:

PDF +565,976
XPS +57,600
SVG +24,752
CBZ +7,344
IMG +3,232
TIFF +3,232
HTML +291,232
EPUB +295,328
All docs 926,616
EPub and HTML share a lot of code (and both pull in the Harfbuzz library).

Font sizes

Base14 +817,808 The basic 14 fonts needed for PDF
Noto CJK +3,864,704 Basic CJK coverage from Android
Noto CJK Ext A +1,551,168 Extended CJK coverage from Android
SIL +557,744 Charis SIL font (Used for a default EPUB font)
Noto +4,452,224 Noto fonts for many languages/scripts
Noto Emoji +418,824 Noto Emoji font
Noto Historic +1,358,840 Noto fonts for Historic/Ancient scripts/languages
Noto Symbol +845,896 Noto Symbol font
All fonts 13,867,208 Total of all the above

CMAP sizes

If we are using CJK then we need another 963,192 bytes for CMAPs. (Or 1.9Meg for 'full' CMAPs).

Android

The APK size for the Android Viewer app is 26.4 Mbytes. Installed is 58.8 Mbytes.

The APK size for the newer Android Example app is 38.7 Mbytes. Installed is 83.4 Mbytes. This build includes libgs.so, which accounts for the most of the increase in size.

iOS

The IPA size is 53.5 Mbytes. Installed is 36.6. The difference here may be that the IPA carries code for multiple architectures.

-- Robin Watts - 2016-05-30

Comments


Edit | Attach | Watch | Print version | History: r9 < r8 < r7 < r6 < r5 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r9 - 2016-12-02 - FredRossPerry
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright 2014 Artifex Software Inc