I am using Noto fonts to create a PDF and evaluating embedding versus not embedding. This is my code:
FontFactory.register("c:/temp/fonts/NotoSansCJKsc-Regular.otf", "my_nato_font"); Font myBoldFont = FontFactory.getFont("my_nato_font", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
However once I go with option:
FontFactory.register("c:/temp/fonts/NotoSansCJKsc-Regular.otf", "my_nato_font"); Font myBoldFont = FontFactory.getFont("my_nato_font");
- Why does NOT_EMBEDDED option still embed the font ?
- Since Noto fonts are open sourced by google and supported by adobe (see Introducing Source Hans), I would assume that end user should be able to view the documents even with out the need to embed them. Is my understanding wrong?
You are using Identity-H. In that case, the font shall be embedded. If the
embedded parameter wouldn't be ignored, iText would be creating a PDF that is in violation with ISO-32000-1:
The Identity-H and Identity-V CMaps shall not be used with a non-embedded font.
By ignoring your
NOT_EMBEDDED setting, iText is protecting you from creating a PDF that isn't correct.
As for your second example: you are getting the font from the font factory using the default encoding. This encoding doesn't support Chinese characters.