diff options
author | Nicolas Pena <npm@chromium.org> | 2017-06-19 17:07:40 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-06-19 21:35:03 +0000 |
commit | 4db9046e56c884a350fa2c5087f8d5b8110463c4 (patch) | |
tree | a423eb6dfe89dd9e7aa5ffc8c728c9bfec938f1b /DEPS | |
parent | b73ce7bcd72a97c780176d9f63681a5415c06422 (diff) | |
download | pdfium-4db9046e56c884a350fa2c5087f8d5b8110463c4.tar.xz |
Add heuristic for improving text rendering in CPDF_CharPosList::Load
This CL uses the following algorithm for improving substitute font spacing (we
are assuming the text layout is horizontal):
* Calculate PDFWidth, the width that the PDF says the glyph should have.
* Calculate FTWidth, the width calculated by freetype for the glyph, using the
substitute font that we'll use to render it. Note that some embedded fonts have
PDFWidth == FTWidth + 1, so we consider that to be matching widths.
* If PDFWidth > FTWidth + 1 , move the x coordinate by the difference / 2 so
that the glyph is rendered in a more centered spot and the text looks better.
* If PDFWidth < FTWidth, transform the glyph horizontally by PDFWidth / FTWidth
so that the glyph gets compressed and does not overlap with surrounding glyphs.
Bug: chromium:431507
Change-Id: Ia378344253fabe44d93af4daab98bb3b7bca22de
Reviewed-on: https://pdfium-review.googlesource.com/6630
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
Diffstat (limited to 'DEPS')
-rw-r--r-- | DEPS | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -19,7 +19,7 @@ vars = { 'jinja2_revision': 'd34383206fa42d52faa10bb9931d6d538f3a57e0', 'jpeg_turbo_revision': '7260e4d8b8e1e40b17f03fafdf1cd83296900f76', 'markupsafe_revision': '8f45f5cfa0009d2a70589bcda0349b8cb2b72783', - 'pdfium_tests_revision': '5379e0a6580443318c8192cdfc78a76e880ca3f6', + 'pdfium_tests_revision': '692df048179862d2e2eae2492e33a4673debe8bc', 'skia_revision': 'bb581ce30f55360fd3a12e7f5aa1fe324b16d085', 'tools_memory_revision': '427f10475e1a8d72424c29d00bf689122b738e5d', 'trace_event_revision': '06294c8a4a6f744ef284cd63cfe54dbf61eea290', |