Fix font embedding bugs

This commit is contained in:
Laurenz 2023-03-19 20:58:03 +01:00
parent 0ba99ab8aa
commit d6aaae0cea
3 changed files with 5 additions and 5 deletions

4
Cargo.lock generated
View File

@ -1171,9 +1171,9 @@ dependencies = [
[[package]]
name = "subsetter"
version = "0.1.0"
version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7965addcab1ea757e91d2c870b7d0146c3e7388ab85a6ec052dbe0ab2eaa3c18"
checksum = "09eab8a83bff89ba2200bd4c59be45c7c787f988431b936099a5a266c957f2f9"
[[package]]
name = "svg2pdf"

View File

@ -31,7 +31,7 @@ roxmltree = "0.14"
rustybuzz = "0.5"
serde = { version = "1", features = ["derive"] }
siphasher = "0.3"
subsetter = "0.1"
subsetter = "0.1.1"
svg2pdf = "0.4"
thin-vec = "0.2"
tiny-skia = "0.6.2"

View File

@ -169,14 +169,14 @@ pub fn write_fonts(ctx: &mut PdfContext) {
subsetter::subset(data, font.index(), profile)
};
// Compress and write the font's byte.
// Compress and write the font's bytes.
let data = subsetted.as_deref().unwrap_or(data);
let data = deflate(data);
let mut stream = ctx.writer.stream(data_ref, &data);
stream.filter(Filter::FlateDecode);
if subtype == CidFontType::Type0 {
stream.pair(Name(b"Subtype"), Name(b"OpenType"));
stream.pair(Name(b"Subtype"), Name(b"CIDFontType0C"));
}
stream.finish();