-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
3.4.4 font changes no longer apply #2730
Comments
this also breaks registering fonts like SFMono-Semibold.ttf, it never loads pdf get stuck rendering |
@joacub Can you provide an example that works in 3.4.2 but does not work in 3.4.4? This may not be a related issue. I was able to load a SFMono-Semibold font in both 3.4.2 and 3.4.4 fine. Note that I found many SFMono files are an "otf" extension, not "ttf" like you wrote in your message. |
Last week I updated to 3.4.4, and I got a report from a client saying that all the bold text in all the pdf's were no longer bold. Upon reading up on this thread and others, I believe my problem is the same as this one.
When applying this className to the text component, the text is not bold. I have tried variants of the above with no luck. |
I convert to ttf, the thing is it was working before this update. Don’t know the reason. |
I agree, this looks like the same issue. The fix in #2731 is merged and should be part of the next release.
@joacub I wasn't able to reproduce this issue, but maybe the fix in #2731 will fix it. If the next release doesn't fix the issue, it may be worth making a new issue with a code example to reproduce the problem. |
Yeah, im waiting for the fix to test, it was working but suddenly stop working, font loads but the render get stuck, never finished, no errors no feedback |
We recently react-pdf/renderer to our repo Is there a problem for some devices / OS / Hardware / Chrome-Settings / ... ? OS: macOS (different M-Chips though) |
@Tim0Cc the likely issue is that some of your team is running 3.4.2 while others are running 3.4.4 (the version with the regression). The ^ allows minor upgrades to the packages. If everyone on your team re-install dependencies then everyone should be able to reproduce the issue. |
we made it work (somehow). we downgraded to "@react-pdf/renderer": "3.1.9" |
@Tim0Cc if you lock the version with either yarn or npm, then you should also re-use the same package manager to unlock or change it. Mixing yarn and npm means both of them will try to lock package versions, and will likely end up locking different versions, causing inconsistencies across installs. If |
@Mudbill unfortunatelly 3.4.2 doesn't render bold. |
I tried adding the fix in #2747 and still can't get bold font weight to work. |
@alexstanbury had the same. Resolved it by specifying the version of |
@bdkopen It looks like this is still an issue, even with |
@luskin unfortunately there are several issues that are causing similar regressions. I fixed one issue in #2731, but #2747 also has another fix. Until the maintainer merges some of the PR fixes, you can try using older version of the package(s). |
We used first just the default font used whatever is used by React PDF (not registering any font at all) and yes using Code to register the font and define a layout: import { Document, Font, StyleSheet, Text, View } from "@react-pdf/renderer";
const pageStyles = StyleSheet.create({
title: {
fontFamily: "Heebo",
fontWeight: "bold",
fontSize: 25,
textAlign: "center",
},
subtitle: {
fontFamily: "Heebo",
textAlign: "center",
fontSize: 12,
},
});
Font.register({
family: "Heebo",
fonts: [
{
src: "src/fonts/heebo/heebo-v26-latin-100.ttf",
fontWeight: "thin",
},
{
src: "src/fonts/heebo/heebo-v26-latin-700.ttf",
fontWeight: "bold",
},
{
src: "src/fonts/heebo/heebo-v26-latin-regular.ttf",
fontWeight: "normal",
},
],
});
export const PDFLayout = ({
children,
// ...
}: {
children: React.ReactNode;
// ...
}) => {
return (
<Document>
<Text style={pageStyles.title}>
My Report
</Text>
<Text style={pageStyles.subtitle}>Section XYZ</Text>
<View>{children}</View>
</Document>
);
}; package.json: {
//...
"dependencies": {
"@react-pdf/renderer": "^3.4.4",
//...
},
"devDependencies": {
"@react-pdf/types": "^2.5.0",
//...
}
} And checking "@react-pdf/renderer@^3.4.4":
version "3.4.4"
resolved "https://r..."
#...
"@react-pdf/stylesheet@^4.2.5":
version "4.2.5"
#...
"@react-pdf/font@^2.5.1":
version "2.5.1"
#...
"@react-pdf/textkit@^4.4.1":
version "4.4.1"
"@react-pdf/types@^2.5.0":
version "2.5.0"
"@react-pdf/[email protected]":
version "2.2.1"
"@react-pdf/image@^2.3.6":
version "2.3.6"
"@react-pdf/layout@^3.12.1":
version "3.12.1"
"@react-pdf/pdfkit@^3.1.10":
version "3.1.10"
"@react-pdf/png-js@^2.3.1":
version "2.3.1"
"@react-pdf/primitives@^3.1.1":
version "3.1.1"
"@react-pdf/render@^3.4.4":
version "3.4.4"
"@react-pdf/stylesheet@^4.2.5":
version "4.2.5"
"@react-pdf/textkit@^4.4.1":
version "4.4.1"
# ... |
Thanks @mrsarm, I confirm that this is working for me as well on The tricky part for me has been to get the assets, because I have a node service spawning several Node thread workers, which import an external library that exports the PDF generator. My issue was that the font registration happens in the external library, while the paths passed to |
Should be fixed in latest version. Please re-open if it's not the case |
Describe the bug
I updated the library from 3.4.2 to 3.4.4 and
fontFamily
no longer applies. I see that there are font related changes in these updates, so perhaps it is related to that.To Reproduce
All of the above appear as the same, default Helvetica 400.
Expected behavior
Font changes should apply correctly.
Note: Using
fontWeight
before 3.4.2 didn't work either. I was only able to set bold font using Helvetica-Bold font family. Maybe Helvetica-Bold is not registered as a bold variant of Helvetica, but rather its own family?Screenshots
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: