Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing fonts in lambda layer #9

Open
eranmit99 opened this issue Feb 10, 2020 · 5 comments
Open

Missing fonts in lambda layer #9

eranmit99 opened this issue Feb 10, 2020 · 5 comments

Comments

@eranmit99
Copy link

Hi,
I am using the prebuilt layer that was provided.
After exporting the canvas on the lambda all text is shown with squares, locally it works fine.
Seems like the lambda OS is missing fonts. did anyone encounter this ?

code example:

ctx.font = '30px Impact'; ctx.rotate(.1); ctx.fillText("Awesome!", 50, 100); canvas.toDataURL();

output:

@jwerre
Copy link
Owner

jwerre commented Feb 10, 2020

@eranmit99 I added a couple more libraries to the layer (libfontconfig.so.1, libpixman-1.so.0). Can you pull the latest and try again?

@eranmit99
Copy link
Author

Did u put it in node 10 layer - I don't see any changes ..

@jwerre
Copy link
Owner

jwerre commented Feb 10, 2020

Hmm. Sorry, I don't have time to look into this now but you try compiling it yourself? Just fire up Docker and follow the instructions at the end of the README. Let me know how it goes.

@eranmit99
Copy link
Author

OK tnx

@alexlitel
Copy link
Contributor

@eranmit99 I would guess the remote deployment doesn't have any fonts or fontconfig loaded. I just ran into this problem and fixed it by calling packaging a font file in my deployment and calling registerFont from canvas with the path of the font like this (replace path and name with your own):

registerFont('./static/fonts/Roboto.ttf', { family: 'Roboto' })

Can't seem to suppress #2 (or use that config to load the font file instead of calling registerFont, but it doesn't throw an error so it's not a huge deal.

@jwerre Will running the updated dockerfile and manually compiling / deploying to lambda layer on its own fix the errors with lambda not having a fontconfig?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants