add kepzettsegek to the PDF

This commit is contained in:
2023-09-09 12:42:23 +02:00
parent 02cbd4cd68
commit d8d70fc688
8 changed files with 151 additions and 74 deletions
+5
View File
@@ -23,3 +23,8 @@ yarn-debug.log*
yarn-error.log* yarn-error.log*
*.css.map *.css.map
# local temp files
/tmp
/temp
/local
+1
View File
@@ -3,6 +3,7 @@
"version": "0.1.0", "version": "0.1.0",
"private": true, "private": true,
"dependencies": { "dependencies": {
"@pdf-lib/fontkit": "^1.1.1",
"@testing-library/jest-dom": "^5.17.0", "@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0", "@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0", "@testing-library/user-event": "^13.5.0",
Binary file not shown.
+17 -1
View File
@@ -2,12 +2,14 @@ import {Faj} from "./faj";
import {Osztaly} from "./osztaly"; import {Osztaly} from "./osztaly";
import {KarakterTulajdonsagok, Modifier} from "./tulajdonsag"; import {KarakterTulajdonsagok, Modifier} from "./tulajdonsag";
import {CalculateMasodlagosErtekek, KarakterMasodlagosErtekek} from "./masodlagos_ertekek"; import {CalculateMasodlagosErtekek, KarakterMasodlagosErtekek} from "./masodlagos_ertekek";
import {Kepzettseg} from "./kepzettsegek";
export interface Karakter { export interface Karakter {
Name: string Name: string
Faj: Faj Faj: Faj
Osztaly: Osztaly Osztaly: Osztaly
Tulajdonsagok: KarakterTulajdonsagok, Tulajdonsagok: KarakterTulajdonsagok,
Szint: number
MasodlagosErtekek: KarakterMasodlagosErtekek MasodlagosErtekek: KarakterMasodlagosErtekek
HP: () => number HP: () => number
VO: () => number VO: () => number
@@ -18,6 +20,8 @@ export interface Karakter {
KitartasMentoAlap: () => number KitartasMentoAlap: () => number
ReflexMentoAlap: () => number ReflexMentoAlap: () => number
AkarateroMentoAlap: () => number AkarateroMentoAlap: () => number
Kepzettsegek: Kepzettseg[]
TolvajKepzettsegek: Kepzettseg[]
} }
export class KarakterClass implements Karakter { export class KarakterClass implements Karakter {
@@ -26,14 +30,26 @@ export class KarakterClass implements Karakter {
public Faj : Faj public Faj : Faj
public Osztaly : Osztaly public Osztaly : Osztaly
public Tulajdonsagok : KarakterTulajdonsagok public Tulajdonsagok : KarakterTulajdonsagok
public Szint : number = 1
public MasodlagosErtekek : KarakterMasodlagosErtekek public MasodlagosErtekek : KarakterMasodlagosErtekek
public Kepzettsegek: Kepzettseg[]
public TolvajKepzettsegek: Kepzettseg[]
constructor(name: string, faj: Faj, osztaly: Osztaly, tulajdonsagok: KarakterTulajdonsagok) { constructor(
name: string,
faj: Faj,
osztaly: Osztaly,
tulajdonsagok: KarakterTulajdonsagok,
kepzettsegek: Kepzettseg[],
tolvajKepzettsegek: Kepzettseg[] = []
) {
this.Name = name this.Name = name
this.Faj = faj this.Faj = faj
this.Osztaly = osztaly this.Osztaly = osztaly
this.Tulajdonsagok = tulajdonsagok this.Tulajdonsagok = tulajdonsagok
this.MasodlagosErtekek = CalculateMasodlagosErtekek(osztaly, tulajdonsagok) this.MasodlagosErtekek = CalculateMasodlagosErtekek(osztaly, tulajdonsagok)
this.Kepzettsegek = kepzettsegek
this.TolvajKepzettsegek = tolvajKepzettsegek
} }
public HP = () => this.MasodlagosErtekek.HP public HP = () => this.MasodlagosErtekek.HP
+1 -1
View File
@@ -34,7 +34,7 @@ export const KepzettsegLista: Kepzettseg[] = [
}, },
{ {
Id: 'k_csapdak', Id: 'k_csapdak',
Name: 'Csapdák állítása/eltávolítása', Name: 'Csapdák állítása',
Description: 'A karakter a rendelkezésre álló idő és alapanyagok függvényében készíthet szimpla vagy komplex csapdákat. Ha egy csapda eltávolítására tett próba sikertelen, az bizonyos eséllyel kisülhet és veszélybe sodorhatja az óvatlan próbálkozót.', Description: 'A karakter a rendelkezésre álló idő és alapanyagok függvényében készíthet szimpla vagy komplex csapdákat. Ha egy csapda eltávolítására tett próba sikertelen, az bizonyos eséllyel kisülhet és veszélybe sodorhatja az óvatlan próbálkozót.',
Tulajdonsag: [Tulajdonsag.Ugyesseg], Tulajdonsag: [Tulajdonsag.Ugyesseg],
Osztalyok: [Osztaly.Tolvaj], Osztalyok: [Osztaly.Tolvaj],
+11 -2
View File
@@ -8,7 +8,7 @@ import OsztalySelector from "../components/OsztalySelector";
import KarakterKepzettsegek from "../components/KarakterKepzettsegek"; import KarakterKepzettsegek from "../components/KarakterKepzettsegek";
import {KarakterTulajdonsagok, Modifier} from "../domain-models/tulajdonsag"; import {KarakterTulajdonsagok, Modifier} from "../domain-models/tulajdonsag";
import MasodlagosErtekek from "../components/MasodlagosErtekek"; import MasodlagosErtekek from "../components/MasodlagosErtekek";
import {AvailableKezpettsegList, KepzettsegId, TolvajKepzettsegList} from "../domain-models/kepzettsegek"; import {AvailableKezpettsegList, Kepzettsegek, KepzettsegId, TolvajKepzettsegList} from "../domain-models/kepzettsegek";
import {CalculateMasodlagosErtekek} from "../domain-models/masodlagos_ertekek"; import {CalculateMasodlagosErtekek} from "../domain-models/masodlagos_ertekek";
import {CreatePDF} from "../pdf/character.pdf"; import {CreatePDF} from "../pdf/character.pdf";
import {KarakterClass} from "../domain-models/karakter"; import {KarakterClass} from "../domain-models/karakter";
@@ -56,6 +56,15 @@ function CreateCharacterPage() {
changeTolvajKepzettsegek(tolvajKepzettsegek) changeTolvajKepzettsegek(tolvajKepzettsegek)
} }
const karakter = () => new KarakterClass(
name,
faj,
osztaly,
tulajdonsagok,
kepzettsegek.map(k => Kepzettsegek[k]),
osztaly === Osztaly.Tolvaj ? tolvajKepzettsegek.map(k => Kepzettsegek[k]) : []
)
return ( return (
<div> <div>
<div className='container-fluid p-5 bg-black text-white text-center'> <div className='container-fluid p-5 bg-black text-white text-center'>
@@ -105,7 +114,7 @@ function CreateCharacterPage() {
<MasodlagosErtekek ertekek={CalculateMasodlagosErtekek(osztaly, tulajdonsagok)} /> <MasodlagosErtekek ertekek={CalculateMasodlagosErtekek(osztaly, tulajdonsagok)} />
<div className='d-grid gap-2 m-5'> <div className='d-grid gap-2 m-5'>
<button className='btn btn-danger btn-lg' type='button' onClick={async () => await CreatePDF(new KarakterClass(name, faj, osztaly, tulajdonsagok))}>Létrehozás</button> <button className='btn btn-danger btn-lg' type='button' onClick={async () => await CreatePDF(karakter())}>Létrehozás</button>
</div> </div>
</form> </form>
</div> </div>
+108 -69
View File
@@ -1,240 +1,279 @@
import {Karakter} from "../domain-models/karakter"; import {Karakter} from "../domain-models/karakter";
import {PDFDocument, rgb, StandardFonts} from "pdf-lib"; import {PDFDocument, rgb} from "pdf-lib";
import fontkit from '@pdf-lib/fontkit'
import {OsztalyLabel} from "../domain-models/osztaly"; import {OsztalyLabel} from "../domain-models/osztaly";
import {FajLabel} from "../domain-models/faj"; import {FajLabel} from "../domain-models/faj";
import {SignedNumberToText} from "../components/Helpers"; import {SignedNumberToText} from "../components/Helpers";
import {Modifier} from "../domain-models/tulajdonsag"; import {Modifier} from "../domain-models/tulajdonsag";
import download from "downloadjs"; import download from "downloadjs";
import {Kepzettseg} from "../domain-models/kepzettsegek";
export async function CreatePDF(karakter: Karakter) { export async function CreatePDF(karakter: Karakter) {
const existingPdfBytes = await fetch('/km_karakterlap_hysteria_1.2.pdf').then(res => res.arrayBuffer()) const existingPdfBytes = await fetch('/km_karakterlap_hysteria_1.2.pdf').then(res => res.arrayBuffer())
const pdfDoc = await PDFDocument.load(existingPdfBytes) const pdfDoc = await PDFDocument.load(existingPdfBytes)
pdfDoc.registerFontkit(fontkit)
const timesRomanFont = await pdfDoc.embedFont(StandardFonts.Helvetica) const fontBytes = await fetch('/Merienda-Regular.ttf').then(res => res.arrayBuffer())
const pdfFont = await pdfDoc.embedFont(fontBytes)
// const pdfFont = await pdfDoc.embedFont(StandardFonts.TimesNewRoman)
const fontSizeBase = 12
const page = pdfDoc.getPage(0) const page = pdfDoc.getPage(0)
const fontSize = 12
page.drawText(karakter.Name, { page.drawText(karakter.Name, {
x: 60, x: 60,
y: 710, y: 710,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(OsztalyLabel(karakter.Osztaly), { page.drawText(OsztalyLabel(karakter.Osztaly), {
x: 60, x: 60,
y: 672, y: 672,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText('1', { page.drawText(karakter.Szint.toString(), {
x: 264, x: 264,
y: 682, y: 682,
size: fontSize * 3, size: fontSizeBase * 3,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(FajLabel(karakter.Faj), { page.drawText(FajLabel(karakter.Faj), {
x: 304, x: 304,
y: 710, y: 710,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Tulajdonsagok.t_ero.toString(), { page.drawText(karakter.Tulajdonsagok.t_ero.toString(), {
x: 130, x: 130,
y: 613, y: 613,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_ero)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_ero)), {
x: 176, x: 176,
y: 613, y: 613,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Tulajdonsagok.t_ugy.toString(), { page.drawText(karakter.Tulajdonsagok.t_ugy.toString(), {
x: 130, x: 130,
y: 580, y: 580,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_ugy)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_ugy)), {
x: 176, x: 176,
y: 580, y: 580,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Tulajdonsagok.t_egs.toString(), { page.drawText(karakter.Tulajdonsagok.t_egs.toString(), {
x: 130, x: 130,
y: 547, y: 547,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_egs)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_egs)), {
x: 176, x: 176,
y: 547, y: 547,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Tulajdonsagok.t_int.toString(), { page.drawText(karakter.Tulajdonsagok.t_int.toString(), {
x: 130, x: 130,
y: 515, y: 515,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_int)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_int)), {
x: 176, x: 176,
y: 515, y: 515,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Tulajdonsagok.t_bol.toString(), { page.drawText(karakter.Tulajdonsagok.t_bol.toString(), {
x: 130, x: 130,
y: 482, y: 482,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_bol)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_bol)), {
x: 176, x: 176,
y: 482, y: 482,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Tulajdonsagok.t_kar.toString(), { page.drawText(karakter.Tulajdonsagok.t_kar.toString(), {
x: 130, x: 130,
y: 449, y: 449,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_kar)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_kar)), {
x: 176, x: 176,
y: 449, y: 449,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.Mozgas().toString(), { page.drawText(karakter.Mozgas().toString(), {
x: 162, x: 162,
y: 416, y: 416,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.Kezdemenyezes()), { page.drawText(SignedNumberToText(karakter.Kezdemenyezes()), {
x: 505, x: 505,
y: 416, y: 416,
size: fontSize * 2, size: fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.HP().toString(), { page.drawText(karakter.HP().toString(), {
x: 318, x: 318,
y: 517, y: 517,
size: fontSize * 1.5, size: fontSizeBase * 1.5,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(karakter.VO().toString(), { page.drawText(karakter.VO().toString(), {
x: 368, x: 368,
y: 495, y: 495,
size: fontSize * 3, size: fontSizeBase * 3,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0.5, 0.5, 0.5),
}) })
page.drawText(SignedNumberToText(karakter.KozelharciTB()), { const kozelharciTB = SignedNumberToText(karakter.KozelharciTB())
page.drawText(kozelharciTB, {
x: 258, x: 258,
y: 382, y: 382,
size: fontSize * 2, size: kozelharciTB.length > 2 ? (fontSizeBase * 1.5) : fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.CelzoTB()), { const celzoTB = SignedNumberToText(karakter.CelzoTB())
page.drawText(celzoTB, {
x: 347, x: 347,
y: 382, y: 382,
size: fontSize * 2, size: celzoTB.length > 2 ? (fontSizeBase * 1.5) : fontSizeBase * 2,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.KitartasMentoAlap()), { page.drawText(SignedNumberToText(karakter.KitartasMentoAlap()), {
x: 435, x: 435,
y: 613, y: 613,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.ReflexMentoAlap()), { page.drawText(SignedNumberToText(karakter.ReflexMentoAlap()), {
x: 435, x: 435,
y: 580, y: 580,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.AkarateroMentoAlap()), { page.drawText(SignedNumberToText(karakter.AkarateroMentoAlap()), {
x: 435, x: 435,
y: 547, y: 547,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_egs)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_egs)), {
x: 475, x: 475,
y: 613, y: 613,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_ugy)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_ugy)), {
x: 475, x: 475,
y: 580, y: 580,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_bol)), { page.drawText(SignedNumberToText(Modifier(karakter.Tulajdonsagok.t_bol)), {
x: 475, x: 475,
y: 547, y: 547,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.KitartasMentoAlap() + Modifier(karakter.Tulajdonsagok.t_egs)), { page.drawText(SignedNumberToText(karakter.KitartasMentoAlap() + Modifier(karakter.Tulajdonsagok.t_egs)), {
x: 515, x: 515,
y: 613, y: 613,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.ReflexMentoAlap() + Modifier(karakter.Tulajdonsagok.t_ugy)), { page.drawText(SignedNumberToText(karakter.ReflexMentoAlap() + Modifier(karakter.Tulajdonsagok.t_ugy)), {
x: 515, x: 515,
y: 580, y: 580,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
page.drawText(SignedNumberToText(karakter.AkarateroMentoAlap() + Modifier(karakter.Tulajdonsagok.t_bol)), { page.drawText(SignedNumberToText(karakter.AkarateroMentoAlap() + Modifier(karakter.Tulajdonsagok.t_bol)), {
x: 515, x: 515,
y: 547, y: 547,
size: fontSize, size: fontSizeBase,
font: timesRomanFont, font: pdfFont,
color: rgb(0, 0, 0), color: rgb(0, 0, 0),
}) })
function DrawKepzettsegek(kepzettsegek: Kepzettseg[], startFrom: number) {
for (let i = 0; i < kepzettsegek.length; i++) {
let kepzettseg = kepzettsegek[i]
page.drawText(kepzettseg.Name, {
x: 60,
y: startFrom - (i * 18),
size: fontSizeBase,
font: pdfFont,
color: rgb(0, 0, 0),
})
const tulajdonsagErtek = kepzettseg.Tulajdonsag.reduce((maxTulajdonsagErtek, currentTulajdonsag) =>
(karakter.Tulajdonsagok[currentTulajdonsag] > maxTulajdonsagErtek)
? karakter.Tulajdonsagok[kepzettseg.Tulajdonsag[i]]
: maxTulajdonsagErtek,
karakter.Tulajdonsagok[kepzettseg.Tulajdonsag[0]])
const kepzettsegModifier = SignedNumberToText(Modifier(tulajdonsagErtek) + karakter.Szint)
page.drawText(kepzettsegModifier, {
x: kepzettsegModifier.length > 2 ? 172 : 175,
y: startFrom - (i * 18),
size: fontSizeBase,
font: pdfFont,
color: rgb(0, 0, 0),
})
}
}
DrawKepzettsegek(karakter.Kepzettsegek, 337);
const nextKepzettsegFrom = 337 - (karakter.Kepzettsegek.length * 18)
DrawKepzettsegek(karakter.TolvajKepzettsegek, nextKepzettsegFrom)
const pdfBytes = await pdfDoc.save(); const pdfBytes = await pdfDoc.save();
download(pdfBytes, karakter.Name + ".pdf", "application/pdf"); download(pdfBytes, karakter.Name + ".pdf", "application/pdf");
} }
+7
View File
@@ -1675,6 +1675,13 @@
"@nodelib/fs.scandir" "2.1.5" "@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0" fastq "^1.6.0"
"@pdf-lib/fontkit@^1.1.1":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@pdf-lib/fontkit/-/fontkit-1.1.1.tgz#f18473892b65e3253eb73f4569785abd2c03b1e0"
integrity sha512-KjMd7grNapIWS/Dm0gvfHEilSyAmeLvrEGVcqLGi0VYebuqqzTbgF29efCx7tvx+IEbG3zQciRSWl3GkUSvjZg==
dependencies:
pako "^1.0.6"
"@pdf-lib/standard-fonts@^1.0.0": "@pdf-lib/standard-fonts@^1.0.0":
version "1.0.0" version "1.0.0"
resolved "https://registry.yarnpkg.com/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz#8ba691c4421f71662ed07c9a0294b44528af2d7f" resolved "https://registry.yarnpkg.com/@pdf-lib/standard-fonts/-/standard-fonts-1.0.0.tgz#8ba691c4421f71662ed07c9a0294b44528af2d7f"