Installing fonts that render Mandarin characters with WKHTMLtoPDF on Heroku - heroku

I'm trying to get wkhtmltopdf to render a PDF that contains Mandarin characters on Heroku.
After quite a lot of research, I followed the steps from here and installed all of the Chinese fonts into a fonts/ directory in my root folder from here, as well as ttf-droid. The Chinese fonts where .ttc files, so I tried them as that, then converted them to ttfs when that didn't work.
Has anyone got any idea how to get these to work?

For those that want a solution(ish), I ended up importing the font in CSS.

Related

Convert Markdown to pdf with images on mac

This is driving me crazy. I have a jupyter notebook with images and I'm trying to convert it to a pdf on my mac. I've installed pandoc and macTex, but when I try to convert it to pdf the images disappear. Also the formatting for my tables gets messed up. I've tried saving it as a markdown and converting it, but I get the same problem. If I convert to html the images disappear but the table formatting is correct. I've also tried converting it in the terminal with nbconvert, but the images still disappeared. And I tried converting the markdown file with rstudio, but still the images disappeared. I've tried two versions of the code to reference images. The versions are below, both display fine in the jupyter notebook but the first one throws an error and the second one the images disappear. I've googled around, it seems to be a common issue but I'm not seeing a lot of solutions. I really can't believe this is this difficult. Any solution is greatly appreciated.
code with errors:
![Stars_Boxplot](Stars_Boxplot.PNG)
code disappears when rendered:
<img src="Stars_Boxplot.PNG">
Update Solution:
![Stars_Boxplot](/Users/Desktop///Project Research//Stars_Boxplot.PNG)
The issue was it had to be an absolute reference and I had a space in my file path.

using google web fonts on mac computer

I'm building a web page that uses Google WebFonts (open sans) on a PC and it works perfectly, but when I try it on a mac computer it shows a question mark within the text. Why is this?
The character you are seeing is the replacement character, which is used when a font does not contain a particular Unicode character, in this case, "ñ" AKA U+00F1 AKA "Latin small letter n with tilde".
Google Open Sans does contain this character, so it seems that Safari is not correctly getting the font from the web. The rendering engine is then reverting to another font, and that one is missing the offending character. You will be able to check in dev tools on your mac which font is being grabbed by your script.
I checked the script annotation you posted in the comment to your question. You are returning the fonts in the woff2 format. It turns out that woff2 is not supported in Safari as of version 9, but woff is. I therefore recommend changing the format to woff and serving it to your page locally:
Download the script you posted (http://fonts.googleapis.com/css?family=Open+Sans:300,400,500,700)
Save it as a css file (e.g. fonts.css)
Find-and-replace woff2 to woff
Save the file
Add it to your web project (however you add your other files)
Replace #StyleSheet({"fonts.googleapis.com/css?family=Open+Sans:300,400,500,700";}‌​) with a reference to this newly uploaded file.
Solved! One of the developers had its Eclipse not set to UTF-8 so the file transfer using Git wasn't working properly...to check, go to Preferences>General>Workspace>Text file encoding and set to UTF-8

wkhtmltopdf doesn't render custom font properly, works perfect in the browser

I am using Century Gothic font in my HTML and then converting it in to PDF. It works perfectly on my mac, but on my Slackware 14.1 server, when I convert the HTMl in to the PDF, the font is not rendered as smoothly as it should be.
I read several ways to include non-standard fonts in the HTML, as #font-face, or adding the entire font in the CSS file as an encoded font and both these methods worked for me in the HTML. The HTML is rendered perfectly in the browser, it's the PDF which is not getting a correct Century Gothic. Any help is highly appreciated.
Thank you
I did some research too and it seems that this is a known bug with qt-webkit.
See the issue documentation here:
https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2193
Sorry to not have better news for you. Maybe just try with a supported font that's close enough to what you like it to look?

Why does some utf-8 chars are not working in Windows but inside of browsers?

I am using Windows 7 and Google Chrome and I can see all these icons:
★ ♥ ♠ ✈
☺ ☻ ♫ ♪
✔ ✖ ♂ ♀
☢ ✡ ☞ ☯
But when I try to rename a bookmark in Google Chrome this icon works: ♥
but this not: ★
Instead of displaying the star, I just see a longish rectangle:
Does anybody knows why?
The font used in the GUI does not contain this glyph, so it just displays a placeholder.
My guess is that's because there are 110,000 characters in the Unicode standard and all fonts have varying coverage of it.
For example Arial Unicode MS covers just 38,917.
To make sure if that's the case you could find out what your Windows uses as a system font to display folder names (or is it Chrome folders on your screenshot? then finding out the font used could be harder) and try to set it as a font that your browser displays pages with.
As your comment to the other answer shows you've succeeded in proving my guess, congrats!

How do you reliably render Khmer (Indic) fonts on the web (and in PDFs)?

I've been having a world of trouble getting Khmer fonts (an Indic script of Cambodia) to render reliably on the web across platforms (Mac, Windows, Linux).
Google web fonts recently added Khmer, which seems like the best bet. However, I have not been successful getting Khmer fonts to work on any Mac or Linux system. I can get them to work on Windows by installing the Khmer Unicode installer from http://khmeros.info but not by just including Google's font in an HTML file.
For example, see this screenshot of the Google web fonts page on a fresh Windows installation. You can see that the default Windows Khmer font (uuuuugly!) is being used instead of Danh's pretty fonts.
I have another test file here: http://dl.dropbox.com/u/634/khmer_test.html. For the first test, you should see something like this for both the web font and the default system font (assuming you have Hanuman installed). I have yet to find a system where both examples work reliably.
Any help would be greatly appreciated. My primary goal is to get this working on a website; a secondary goal is to get Khmer (and other Indic fonts) working in a PDF generator like iText (although I am aware iText itself does not support Indic fonts -- I'm hoping something similar does).
Every Cambodian Windows users are always delete the font name called: KhmerMool and Khmer Kampot. Then they change the default Khmer font in regedit too. You can check at http://thelifeandwork.blogspot.com/2010/01/changing-default-khmer-font-in-windows.html . I'm not sure about Khmer font and other Indic font in PDF. I always have problem when i copy Khmer unicode from PDF to put in OpenOffice or Office Word or LibreOffice.
Khmer Unicode displays on the web, it will always solve now by Google Webfont, please refer to that.
And if you want to have Khmer display in PDF by converting using iText, you can see following post:
Khmer Unicode in iText
http://ask.osify.com/qa/287
They are currently not yet support the display yet.
But, just today I can get it works by modifying the source code of iText (5.5.4-SNAPSHOT) as I just stated in my post: http://ask.osify.com/qa/613, not yet be able to publish since it's just start in testing around.
Updated 13/01/2016
I have added the source code sample for the rendering: http://ask.osify.com/qa/613
The rendering customization with iText for Khmer Unicode added in github: https://github.com/Seuksa/iTextKhmer

Resources