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