1

In a particular html file all "ti","fi","tt" characters are missing while viewing (The characters are there when we view it in inspect element).

eg: "Solution" is miss spelt "soluon".

Sample screenshot

The same html works well with FireFox. The above issue reproduces in Chrome and Safari.

Version

  1. Chrome version : Version 50.0.2661.94 (64-bit)
  2. Safari version : Version 9.0 (11601.1.56)

Kindly help me to sort this out.

Tom Taylor
  • 3,344
  • 2
  • 38
  • 63

1 Answers1

3

The above issue occurs only in - webkit web browsers like chrome and safari - which provides support for ligatures - whereas browser like firefox does not.

A ligature is a combination of two or more letters joined as a single glyph

​Root cause

This issue with missing characters is due to ligature support provided by these modern browsers - let me explain how

1.The tool while converting - it converts characters to glyphs using poppler for rendering - now these browser when they come across characters like tt tf ti ff fi consider them to be ligature and searches for glyphs corresponding to tt and not t t

2.Since they do not have their corresponding glyphs - they just skip the characters and renders the rest - so, we fount the characters missing

Could be solved by

Disabling/ Turning-off the ligature in these browsers - embedding the css in the generating content

For more details please refer:

Please correct me if I am wrong.

Community
  • 1
  • 1
Tom Taylor
  • 3,344
  • 2
  • 38
  • 63
  • Browsers don't randomly converts and try to render tt( and other combination ) as ligatures. Ligature is all about fonts, some fonts defined ligature and other don't. Maybe fonts you were using has ligature feature. You can disable liga using css though. – Naveed Mar 18 '17 at 20:47
  • No what I'm trying to say is - when a font has defined ligatures - when these webkit browsers come across the characters like `tt`, `tf` consider them to be ligature and search for their corresponding glyph. – Tom Taylor Mar 19 '17 at 04:00