[{"data":1,"prerenderedAt":1749},["ShallowReactive",2],{"docs-zh-guide/fonts":3},{"id":4,"title":5,"body":6,"description":1742,"extension":1743,"meta":1744,"navigation":76,"path":1745,"seo":1746,"stem":1747,"__hash__":1748},"docsZh/zh/docs/2.guide/3.fonts.md","字体",{"type":7,"value":8,"toc":1728},"minimark",[9,13,17,178,182,185,391,398,529,533,541,869,873,879,1361,1365,1368,1416,1419,1422,1425,1476,1479,1540,1544,1547,1702,1705,1724],[10,11,12],"h2",{"id":12},"注册字体",[14,15,16],"p",{},"创建文档时注册 TrueType 字体：",[18,19,24],"pre",{"className":20,"code":21,"language":22,"meta":23,"style":23},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","fontData, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\n\ndoc := template.New(\n    template.WithPageSize(document.A4),\n    template.WithFont(\"NotoSansJP\", fontData),\n    template.WithDefaultFont(\"NotoSansJP\", 12),\n)\n","go","",[25,26,27,71,78,97,121,147,173],"code",{"__ignoreMap":23},[28,29,32,36,40,43,46,49,52,56,59,62,66,68],"span",{"class":30,"line":31},"line",1,[28,33,35],{"class":34},"sTEyZ","fontData",[28,37,39],{"class":38},"sMK4o",",",[28,41,42],{"class":34}," _ ",[28,44,45],{"class":38},":=",[28,47,48],{"class":34}," os",[28,50,51],{"class":38},".",[28,53,55],{"class":54},"s2Zo4","ReadFile",[28,57,58],{"class":38},"(",[28,60,61],{"class":38},"\"",[28,63,65],{"class":64},"sfazB","fonts/NotoSansJP-Regular.ttf",[28,67,61],{"class":38},[28,69,70],{"class":38},")\n",[28,72,74],{"class":30,"line":73},2,[28,75,77],{"emptyLinePlaceholder":76},true,"\n",[28,79,81,84,86,89,91,94],{"class":30,"line":80},3,[28,82,83],{"class":34},"doc ",[28,85,45],{"class":38},[28,87,88],{"class":34}," template",[28,90,51],{"class":38},[28,92,93],{"class":54},"New",[28,95,96],{"class":38},"(\n",[28,98,100,103,105,108,110,113,115,118],{"class":30,"line":99},4,[28,101,102],{"class":34},"    template",[28,104,51],{"class":38},[28,106,107],{"class":54},"WithPageSize",[28,109,58],{"class":38},[28,111,112],{"class":34},"document",[28,114,51],{"class":38},[28,116,117],{"class":34},"A4",[28,119,120],{"class":38},"),\n",[28,122,124,126,128,131,133,135,138,140,142,145],{"class":30,"line":123},5,[28,125,102],{"class":34},[28,127,51],{"class":38},[28,129,130],{"class":54},"WithFont",[28,132,58],{"class":38},[28,134,61],{"class":38},[28,136,137],{"class":64},"NotoSansJP",[28,139,61],{"class":38},[28,141,39],{"class":38},[28,143,144],{"class":34}," fontData",[28,146,120],{"class":38},[28,148,150,152,154,157,159,161,163,165,167,171],{"class":30,"line":149},6,[28,151,102],{"class":34},[28,153,51],{"class":38},[28,155,156],{"class":54},"WithDefaultFont",[28,158,58],{"class":38},[28,160,61],{"class":38},[28,162,137],{"class":64},[28,164,61],{"class":38},[28,166,39],{"class":38},[28,168,170],{"class":169},"sbssI"," 12",[28,172,120],{"class":38},[28,174,176],{"class":30,"line":175},7,[28,177,70],{"class":38},[179,180,181],"h3",{"id":181},"多字体族",[14,183,184],{},"注册多个字体用于不同场景：",[18,186,188],{"className":20,"code":187,"language":22,"meta":23,"style":23},"regular, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\nbold, _ := os.ReadFile(\"fonts/NotoSansJP-Bold.ttf\")\nmono, _ := os.ReadFile(\"fonts/RobotoMono-Regular.ttf\")\n\ndoc := template.New(\n    template.WithFont(\"NotoSansJP\", regular),\n    template.WithFont(\"NotoSansJP-Bold\", bold),\n    template.WithFont(\"RobotoMono\", mono),\n    template.WithDefaultFont(\"NotoSansJP\", 12),\n)\n",[25,189,190,217,245,273,277,291,314,338,363,386],{"__ignoreMap":23},[28,191,192,195,197,199,201,203,205,207,209,211,213,215],{"class":30,"line":31},[28,193,194],{"class":34},"regular",[28,196,39],{"class":38},[28,198,42],{"class":34},[28,200,45],{"class":38},[28,202,48],{"class":34},[28,204,51],{"class":38},[28,206,55],{"class":54},[28,208,58],{"class":38},[28,210,61],{"class":38},[28,212,65],{"class":64},[28,214,61],{"class":38},[28,216,70],{"class":38},[28,218,219,222,224,226,228,230,232,234,236,238,241,243],{"class":30,"line":73},[28,220,221],{"class":34},"bold",[28,223,39],{"class":38},[28,225,42],{"class":34},[28,227,45],{"class":38},[28,229,48],{"class":34},[28,231,51],{"class":38},[28,233,55],{"class":54},[28,235,58],{"class":38},[28,237,61],{"class":38},[28,239,240],{"class":64},"fonts/NotoSansJP-Bold.ttf",[28,242,61],{"class":38},[28,244,70],{"class":38},[28,246,247,250,252,254,256,258,260,262,264,266,269,271],{"class":30,"line":80},[28,248,249],{"class":34},"mono",[28,251,39],{"class":38},[28,253,42],{"class":34},[28,255,45],{"class":38},[28,257,48],{"class":34},[28,259,51],{"class":38},[28,261,55],{"class":54},[28,263,58],{"class":38},[28,265,61],{"class":38},[28,267,268],{"class":64},"fonts/RobotoMono-Regular.ttf",[28,270,61],{"class":38},[28,272,70],{"class":38},[28,274,275],{"class":30,"line":99},[28,276,77],{"emptyLinePlaceholder":76},[28,278,279,281,283,285,287,289],{"class":30,"line":123},[28,280,83],{"class":34},[28,282,45],{"class":38},[28,284,88],{"class":34},[28,286,51],{"class":38},[28,288,93],{"class":54},[28,290,96],{"class":38},[28,292,293,295,297,299,301,303,305,307,309,312],{"class":30,"line":149},[28,294,102],{"class":34},[28,296,51],{"class":38},[28,298,130],{"class":54},[28,300,58],{"class":38},[28,302,61],{"class":38},[28,304,137],{"class":64},[28,306,61],{"class":38},[28,308,39],{"class":38},[28,310,311],{"class":34}," regular",[28,313,120],{"class":38},[28,315,316,318,320,322,324,326,329,331,333,336],{"class":30,"line":175},[28,317,102],{"class":34},[28,319,51],{"class":38},[28,321,130],{"class":54},[28,323,58],{"class":38},[28,325,61],{"class":38},[28,327,328],{"class":64},"NotoSansJP-Bold",[28,330,61],{"class":38},[28,332,39],{"class":38},[28,334,335],{"class":34}," bold",[28,337,120],{"class":38},[28,339,341,343,345,347,349,351,354,356,358,361],{"class":30,"line":340},8,[28,342,102],{"class":34},[28,344,51],{"class":38},[28,346,130],{"class":54},[28,348,58],{"class":38},[28,350,61],{"class":38},[28,352,353],{"class":64},"RobotoMono",[28,355,61],{"class":38},[28,357,39],{"class":38},[28,359,360],{"class":34}," mono",[28,362,120],{"class":38},[28,364,366,368,370,372,374,376,378,380,382,384],{"class":30,"line":365},9,[28,367,102],{"class":34},[28,369,51],{"class":38},[28,371,156],{"class":54},[28,373,58],{"class":38},[28,375,61],{"class":38},[28,377,137],{"class":64},[28,379,61],{"class":38},[28,381,39],{"class":38},[28,383,170],{"class":169},[28,385,120],{"class":38},[28,387,389],{"class":30,"line":388},10,[28,390,70],{"class":38},[14,392,393,394,397],{},"使用 ",[25,395,396],{},"FontFamily()"," 在文本元素中切换字体：",[18,399,401],{"className":20,"code":400,"language":22,"meta":23,"style":23},"c.Text(\"Regular text\")  // uses default NotoSansJP\nc.Text(\"Bold heading\", template.FontFamily(\"NotoSansJP-Bold\"), template.FontSize(18))\nc.Text(\"Code snippet\", template.FontFamily(\"RobotoMono\"), template.FontSize(10))\n",[25,402,403,429,481],{"__ignoreMap":23},[28,404,405,408,410,413,415,417,420,422,425],{"class":30,"line":31},[28,406,407],{"class":34},"c",[28,409,51],{"class":38},[28,411,412],{"class":54},"Text",[28,414,58],{"class":38},[28,416,61],{"class":38},[28,418,419],{"class":64},"Regular text",[28,421,61],{"class":38},[28,423,424],{"class":38},")",[28,426,428],{"class":427},"sHwdD","  // uses default NotoSansJP\n",[28,430,431,433,435,437,439,441,444,446,448,450,452,455,457,459,461,463,466,468,470,473,475,478],{"class":30,"line":73},[28,432,407],{"class":34},[28,434,51],{"class":38},[28,436,412],{"class":54},[28,438,58],{"class":38},[28,440,61],{"class":38},[28,442,443],{"class":64},"Bold heading",[28,445,61],{"class":38},[28,447,39],{"class":38},[28,449,88],{"class":34},[28,451,51],{"class":38},[28,453,454],{"class":54},"FontFamily",[28,456,58],{"class":38},[28,458,61],{"class":38},[28,460,328],{"class":64},[28,462,61],{"class":38},[28,464,465],{"class":38},"),",[28,467,88],{"class":34},[28,469,51],{"class":38},[28,471,472],{"class":54},"FontSize",[28,474,58],{"class":38},[28,476,477],{"class":169},"18",[28,479,480],{"class":38},"))\n",[28,482,483,485,487,489,491,493,496,498,500,502,504,506,508,510,512,514,516,518,520,522,524,527],{"class":30,"line":80},[28,484,407],{"class":34},[28,486,51],{"class":38},[28,488,412],{"class":54},[28,490,58],{"class":38},[28,492,61],{"class":38},[28,494,495],{"class":64},"Code snippet",[28,497,61],{"class":38},[28,499,39],{"class":38},[28,501,88],{"class":34},[28,503,51],{"class":38},[28,505,454],{"class":54},[28,507,58],{"class":38},[28,509,61],{"class":38},[28,511,353],{"class":64},[28,513,61],{"class":38},[28,515,465],{"class":38},[28,517,88],{"class":34},[28,519,51],{"class":38},[28,521,472],{"class":54},[28,523,58],{"class":38},[28,525,526],{"class":169},"10",[28,528,480],{"class":38},[10,530,532],{"id":531},"cjk-支持","CJK 支持",[14,534,535,536,540],{},"gpdf 对日文、中文和韩文文本提供",[537,538,539],"strong",{},"一流支持","。CJK 功能包括自动换行和禁则处理（禁止某些字符出现在行首或行尾）。",[18,542,544],{"className":20,"code":543,"language":22,"meta":23,"style":23},"fontData, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\n\ndoc := template.New(\n    template.WithPageSize(document.A4),\n    template.WithMargins(document.UniformEdges(document.Mm(20))),\n    template.WithFont(\"NotoSansJP\", fontData),\n    template.WithDefaultFont(\"NotoSansJP\", 12),\n)\n\npage := doc.AddPage()\npage.AutoRow(func(r *template.RowBuilder) {\n    r.Col(12, func(c *template.ColBuilder) {\n        c.Text(\"日本語テキストのサンプル\", template.FontSize(18))\n        c.Text(\"gpdfは純Go・ゼロ依存のPDF生成ライブラリです。\")\n        c.Text(\"CJKテキストの改行やレイアウトを正しく処理します。\")\n    })\n})\n",[25,545,546,572,576,590,608,643,665,687,691,695,713,748,784,817,837,857,863],{"__ignoreMap":23},[28,547,548,550,552,554,556,558,560,562,564,566,568,570],{"class":30,"line":31},[28,549,35],{"class":34},[28,551,39],{"class":38},[28,553,42],{"class":34},[28,555,45],{"class":38},[28,557,48],{"class":34},[28,559,51],{"class":38},[28,561,55],{"class":54},[28,563,58],{"class":38},[28,565,61],{"class":38},[28,567,65],{"class":64},[28,569,61],{"class":38},[28,571,70],{"class":38},[28,573,574],{"class":30,"line":73},[28,575,77],{"emptyLinePlaceholder":76},[28,577,578,580,582,584,586,588],{"class":30,"line":80},[28,579,83],{"class":34},[28,581,45],{"class":38},[28,583,88],{"class":34},[28,585,51],{"class":38},[28,587,93],{"class":54},[28,589,96],{"class":38},[28,591,592,594,596,598,600,602,604,606],{"class":30,"line":99},[28,593,102],{"class":34},[28,595,51],{"class":38},[28,597,107],{"class":54},[28,599,58],{"class":38},[28,601,112],{"class":34},[28,603,51],{"class":38},[28,605,117],{"class":34},[28,607,120],{"class":38},[28,609,610,612,614,617,619,621,623,626,628,630,632,635,637,640],{"class":30,"line":123},[28,611,102],{"class":34},[28,613,51],{"class":38},[28,615,616],{"class":54},"WithMargins",[28,618,58],{"class":38},[28,620,112],{"class":34},[28,622,51],{"class":38},[28,624,625],{"class":54},"UniformEdges",[28,627,58],{"class":38},[28,629,112],{"class":34},[28,631,51],{"class":38},[28,633,634],{"class":54},"Mm",[28,636,58],{"class":38},[28,638,639],{"class":169},"20",[28,641,642],{"class":38},"))),\n",[28,644,645,647,649,651,653,655,657,659,661,663],{"class":30,"line":149},[28,646,102],{"class":34},[28,648,51],{"class":38},[28,650,130],{"class":54},[28,652,58],{"class":38},[28,654,61],{"class":38},[28,656,137],{"class":64},[28,658,61],{"class":38},[28,660,39],{"class":38},[28,662,144],{"class":34},[28,664,120],{"class":38},[28,666,667,669,671,673,675,677,679,681,683,685],{"class":30,"line":175},[28,668,102],{"class":34},[28,670,51],{"class":38},[28,672,156],{"class":54},[28,674,58],{"class":38},[28,676,61],{"class":38},[28,678,137],{"class":64},[28,680,61],{"class":38},[28,682,39],{"class":38},[28,684,170],{"class":169},[28,686,120],{"class":38},[28,688,689],{"class":30,"line":340},[28,690,70],{"class":38},[28,692,693],{"class":30,"line":365},[28,694,77],{"emptyLinePlaceholder":76},[28,696,697,700,702,705,707,710],{"class":30,"line":388},[28,698,699],{"class":34},"page ",[28,701,45],{"class":38},[28,703,704],{"class":34}," doc",[28,706,51],{"class":38},[28,708,709],{"class":54},"AddPage",[28,711,712],{"class":38},"()\n",[28,714,716,719,721,724,727,731,734,738,740,743,745],{"class":30,"line":715},11,[28,717,718],{"class":34},"page",[28,720,51],{"class":38},[28,722,723],{"class":54},"AutoRow",[28,725,726],{"class":38},"(func(",[28,728,730],{"class":729},"sHdIc","r",[28,732,733],{"class":38}," *",[28,735,737],{"class":736},"sBMFI","template",[28,739,51],{"class":38},[28,741,742],{"class":736},"RowBuilder",[28,744,424],{"class":38},[28,746,747],{"class":38}," {\n",[28,749,751,754,756,759,761,764,766,769,771,773,775,777,780,782],{"class":30,"line":750},12,[28,752,753],{"class":34},"    r",[28,755,51],{"class":38},[28,757,758],{"class":54},"Col",[28,760,58],{"class":38},[28,762,763],{"class":169},"12",[28,765,39],{"class":38},[28,767,768],{"class":38}," func(",[28,770,407],{"class":729},[28,772,733],{"class":38},[28,774,737],{"class":736},[28,776,51],{"class":38},[28,778,779],{"class":736},"ColBuilder",[28,781,424],{"class":38},[28,783,747],{"class":38},[28,785,787,790,792,794,796,798,801,803,805,807,809,811,813,815],{"class":30,"line":786},13,[28,788,789],{"class":34},"        c",[28,791,51],{"class":38},[28,793,412],{"class":54},[28,795,58],{"class":38},[28,797,61],{"class":38},[28,799,800],{"class":64},"日本語テキストのサンプル",[28,802,61],{"class":38},[28,804,39],{"class":38},[28,806,88],{"class":34},[28,808,51],{"class":38},[28,810,472],{"class":54},[28,812,58],{"class":38},[28,814,477],{"class":169},[28,816,480],{"class":38},[28,818,820,822,824,826,828,830,833,835],{"class":30,"line":819},14,[28,821,789],{"class":34},[28,823,51],{"class":38},[28,825,412],{"class":54},[28,827,58],{"class":38},[28,829,61],{"class":38},[28,831,832],{"class":64},"gpdfは純Go・ゼロ依存のPDF生成ライブラリです。",[28,834,61],{"class":38},[28,836,70],{"class":38},[28,838,840,842,844,846,848,850,853,855],{"class":30,"line":839},15,[28,841,789],{"class":34},[28,843,51],{"class":38},[28,845,412],{"class":54},[28,847,58],{"class":38},[28,849,61],{"class":38},[28,851,852],{"class":64},"CJKテキストの改行やレイアウトを正しく処理します。",[28,854,61],{"class":38},[28,856,70],{"class":38},[28,858,860],{"class":30,"line":859},16,[28,861,862],{"class":38},"    })\n",[28,864,866],{"class":30,"line":865},17,[28,867,868],{"class":38},"})\n",[179,870,872],{"id":871},"多语言-cjk-文档","多语言 CJK 文档",[14,874,875,876,878],{},"对于包含多种 CJK 语言的文档，分别注册每种字体并使用 ",[25,877,396],{}," 切换：",[18,880,882],{"className":20,"code":881,"language":22,"meta":23,"style":23},"jpFont, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\nscFont, _ := os.ReadFile(\"fonts/NotoSansSC-Regular.ttf\")\nkrFont, _ := os.ReadFile(\"fonts/NotoSansKR-Regular.ttf\")\n\ndoc := template.New(\n    template.WithPageSize(document.A4),\n    template.WithFont(\"NotoSansJP\", jpFont),\n    template.WithFont(\"NotoSansSC\", scFont),\n    template.WithFont(\"NotoSansKR\", krFont),\n    template.WithDefaultFont(\"NotoSansSC\", 12),\n)\n\npage := doc.AddPage()\npage.AutoRow(func(r *template.RowBuilder) {\n    r.Col(4, func(c *template.ColBuilder) {\n        c.Text(\"こんにちは\", template.FontFamily(\"NotoSansJP\"))\n    })\n    r.Col(4, func(c *template.ColBuilder) {\n        c.Text(\"你好\", template.FontFamily(\"NotoSansSC\"))\n    })\n    r.Col(4, func(c *template.ColBuilder) {\n        c.Text(\"안녕하세요\", template.FontFamily(\"NotoSansKR\"))\n    })\n})\n",[25,883,884,911,939,967,971,985,1003,1026,1050,1074,1096,1100,1104,1118,1142,1173,1208,1212,1243,1279,1284,1315,1351,1356],{"__ignoreMap":23},[28,885,886,889,891,893,895,897,899,901,903,905,907,909],{"class":30,"line":31},[28,887,888],{"class":34},"jpFont",[28,890,39],{"class":38},[28,892,42],{"class":34},[28,894,45],{"class":38},[28,896,48],{"class":34},[28,898,51],{"class":38},[28,900,55],{"class":54},[28,902,58],{"class":38},[28,904,61],{"class":38},[28,906,65],{"class":64},[28,908,61],{"class":38},[28,910,70],{"class":38},[28,912,913,916,918,920,922,924,926,928,930,932,935,937],{"class":30,"line":73},[28,914,915],{"class":34},"scFont",[28,917,39],{"class":38},[28,919,42],{"class":34},[28,921,45],{"class":38},[28,923,48],{"class":34},[28,925,51],{"class":38},[28,927,55],{"class":54},[28,929,58],{"class":38},[28,931,61],{"class":38},[28,933,934],{"class":64},"fonts/NotoSansSC-Regular.ttf",[28,936,61],{"class":38},[28,938,70],{"class":38},[28,940,941,944,946,948,950,952,954,956,958,960,963,965],{"class":30,"line":80},[28,942,943],{"class":34},"krFont",[28,945,39],{"class":38},[28,947,42],{"class":34},[28,949,45],{"class":38},[28,951,48],{"class":34},[28,953,51],{"class":38},[28,955,55],{"class":54},[28,957,58],{"class":38},[28,959,61],{"class":38},[28,961,962],{"class":64},"fonts/NotoSansKR-Regular.ttf",[28,964,61],{"class":38},[28,966,70],{"class":38},[28,968,969],{"class":30,"line":99},[28,970,77],{"emptyLinePlaceholder":76},[28,972,973,975,977,979,981,983],{"class":30,"line":123},[28,974,83],{"class":34},[28,976,45],{"class":38},[28,978,88],{"class":34},[28,980,51],{"class":38},[28,982,93],{"class":54},[28,984,96],{"class":38},[28,986,987,989,991,993,995,997,999,1001],{"class":30,"line":149},[28,988,102],{"class":34},[28,990,51],{"class":38},[28,992,107],{"class":54},[28,994,58],{"class":38},[28,996,112],{"class":34},[28,998,51],{"class":38},[28,1000,117],{"class":34},[28,1002,120],{"class":38},[28,1004,1005,1007,1009,1011,1013,1015,1017,1019,1021,1024],{"class":30,"line":175},[28,1006,102],{"class":34},[28,1008,51],{"class":38},[28,1010,130],{"class":54},[28,1012,58],{"class":38},[28,1014,61],{"class":38},[28,1016,137],{"class":64},[28,1018,61],{"class":38},[28,1020,39],{"class":38},[28,1022,1023],{"class":34}," jpFont",[28,1025,120],{"class":38},[28,1027,1028,1030,1032,1034,1036,1038,1041,1043,1045,1048],{"class":30,"line":340},[28,1029,102],{"class":34},[28,1031,51],{"class":38},[28,1033,130],{"class":54},[28,1035,58],{"class":38},[28,1037,61],{"class":38},[28,1039,1040],{"class":64},"NotoSansSC",[28,1042,61],{"class":38},[28,1044,39],{"class":38},[28,1046,1047],{"class":34}," scFont",[28,1049,120],{"class":38},[28,1051,1052,1054,1056,1058,1060,1062,1065,1067,1069,1072],{"class":30,"line":365},[28,1053,102],{"class":34},[28,1055,51],{"class":38},[28,1057,130],{"class":54},[28,1059,58],{"class":38},[28,1061,61],{"class":38},[28,1063,1064],{"class":64},"NotoSansKR",[28,1066,61],{"class":38},[28,1068,39],{"class":38},[28,1070,1071],{"class":34}," krFont",[28,1073,120],{"class":38},[28,1075,1076,1078,1080,1082,1084,1086,1088,1090,1092,1094],{"class":30,"line":388},[28,1077,102],{"class":34},[28,1079,51],{"class":38},[28,1081,156],{"class":54},[28,1083,58],{"class":38},[28,1085,61],{"class":38},[28,1087,1040],{"class":64},[28,1089,61],{"class":38},[28,1091,39],{"class":38},[28,1093,170],{"class":169},[28,1095,120],{"class":38},[28,1097,1098],{"class":30,"line":715},[28,1099,70],{"class":38},[28,1101,1102],{"class":30,"line":750},[28,1103,77],{"emptyLinePlaceholder":76},[28,1105,1106,1108,1110,1112,1114,1116],{"class":30,"line":786},[28,1107,699],{"class":34},[28,1109,45],{"class":38},[28,1111,704],{"class":34},[28,1113,51],{"class":38},[28,1115,709],{"class":54},[28,1117,712],{"class":38},[28,1119,1120,1122,1124,1126,1128,1130,1132,1134,1136,1138,1140],{"class":30,"line":819},[28,1121,718],{"class":34},[28,1123,51],{"class":38},[28,1125,723],{"class":54},[28,1127,726],{"class":38},[28,1129,730],{"class":729},[28,1131,733],{"class":38},[28,1133,737],{"class":736},[28,1135,51],{"class":38},[28,1137,742],{"class":736},[28,1139,424],{"class":38},[28,1141,747],{"class":38},[28,1143,1144,1146,1148,1150,1152,1155,1157,1159,1161,1163,1165,1167,1169,1171],{"class":30,"line":839},[28,1145,753],{"class":34},[28,1147,51],{"class":38},[28,1149,758],{"class":54},[28,1151,58],{"class":38},[28,1153,1154],{"class":169},"4",[28,1156,39],{"class":38},[28,1158,768],{"class":38},[28,1160,407],{"class":729},[28,1162,733],{"class":38},[28,1164,737],{"class":736},[28,1166,51],{"class":38},[28,1168,779],{"class":736},[28,1170,424],{"class":38},[28,1172,747],{"class":38},[28,1174,1175,1177,1179,1181,1183,1185,1188,1190,1192,1194,1196,1198,1200,1202,1204,1206],{"class":30,"line":859},[28,1176,789],{"class":34},[28,1178,51],{"class":38},[28,1180,412],{"class":54},[28,1182,58],{"class":38},[28,1184,61],{"class":38},[28,1186,1187],{"class":64},"こんにちは",[28,1189,61],{"class":38},[28,1191,39],{"class":38},[28,1193,88],{"class":34},[28,1195,51],{"class":38},[28,1197,454],{"class":54},[28,1199,58],{"class":38},[28,1201,61],{"class":38},[28,1203,137],{"class":64},[28,1205,61],{"class":38},[28,1207,480],{"class":38},[28,1209,1210],{"class":30,"line":865},[28,1211,862],{"class":38},[28,1213,1215,1217,1219,1221,1223,1225,1227,1229,1231,1233,1235,1237,1239,1241],{"class":30,"line":1214},18,[28,1216,753],{"class":34},[28,1218,51],{"class":38},[28,1220,758],{"class":54},[28,1222,58],{"class":38},[28,1224,1154],{"class":169},[28,1226,39],{"class":38},[28,1228,768],{"class":38},[28,1230,407],{"class":729},[28,1232,733],{"class":38},[28,1234,737],{"class":736},[28,1236,51],{"class":38},[28,1238,779],{"class":736},[28,1240,424],{"class":38},[28,1242,747],{"class":38},[28,1244,1246,1248,1250,1252,1254,1256,1259,1261,1263,1265,1267,1269,1271,1273,1275,1277],{"class":30,"line":1245},19,[28,1247,789],{"class":34},[28,1249,51],{"class":38},[28,1251,412],{"class":54},[28,1253,58],{"class":38},[28,1255,61],{"class":38},[28,1257,1258],{"class":64},"你好",[28,1260,61],{"class":38},[28,1262,39],{"class":38},[28,1264,88],{"class":34},[28,1266,51],{"class":38},[28,1268,454],{"class":54},[28,1270,58],{"class":38},[28,1272,61],{"class":38},[28,1274,1040],{"class":64},[28,1276,61],{"class":38},[28,1278,480],{"class":38},[28,1280,1282],{"class":30,"line":1281},20,[28,1283,862],{"class":38},[28,1285,1287,1289,1291,1293,1295,1297,1299,1301,1303,1305,1307,1309,1311,1313],{"class":30,"line":1286},21,[28,1288,753],{"class":34},[28,1290,51],{"class":38},[28,1292,758],{"class":54},[28,1294,58],{"class":38},[28,1296,1154],{"class":169},[28,1298,39],{"class":38},[28,1300,768],{"class":38},[28,1302,407],{"class":729},[28,1304,733],{"class":38},[28,1306,737],{"class":736},[28,1308,51],{"class":38},[28,1310,779],{"class":736},[28,1312,424],{"class":38},[28,1314,747],{"class":38},[28,1316,1318,1320,1322,1324,1326,1328,1331,1333,1335,1337,1339,1341,1343,1345,1347,1349],{"class":30,"line":1317},22,[28,1319,789],{"class":34},[28,1321,51],{"class":38},[28,1323,412],{"class":54},[28,1325,58],{"class":38},[28,1327,61],{"class":38},[28,1329,1330],{"class":64},"안녕하세요",[28,1332,61],{"class":38},[28,1334,39],{"class":38},[28,1336,88],{"class":34},[28,1338,51],{"class":38},[28,1340,454],{"class":54},[28,1342,58],{"class":38},[28,1344,61],{"class":38},[28,1346,1064],{"class":64},[28,1348,61],{"class":38},[28,1350,480],{"class":38},[28,1352,1354],{"class":30,"line":1353},23,[28,1355,862],{"class":38},[28,1357,1359],{"class":30,"line":1358},24,[28,1360,868],{"class":38},[179,1362,1364],{"id":1363},"二维码与-cjk-内容","二维码与 CJK 内容",[14,1366,1367],{},"二维码支持包含日文在内的 Unicode 内容：",[18,1369,1371],{"className":20,"code":1370,"language":22,"meta":23,"style":23},"c.QRCode(\"こんにちは世界\", template.QRSize(document.Mm(30)))\n",[25,1372,1373],{"__ignoreMap":23},[28,1374,1375,1377,1379,1382,1384,1386,1389,1391,1393,1395,1397,1400,1402,1404,1406,1408,1410,1413],{"class":30,"line":31},[28,1376,407],{"class":34},[28,1378,51],{"class":38},[28,1380,1381],{"class":54},"QRCode",[28,1383,58],{"class":38},[28,1385,61],{"class":38},[28,1387,1388],{"class":64},"こんにちは世界",[28,1390,61],{"class":38},[28,1392,39],{"class":38},[28,1394,88],{"class":34},[28,1396,51],{"class":38},[28,1398,1399],{"class":54},"QRSize",[28,1401,58],{"class":38},[28,1403,112],{"class":34},[28,1405,51],{"class":38},[28,1407,634],{"class":54},[28,1409,58],{"class":38},[28,1411,1412],{"class":169},"30",[28,1414,1415],{"class":38},")))\n",[10,1417,1418],{"id":1418},"字体子集化",[14,1420,1421],{},"gpdf 自动对 TrueType 字体进行子集化 — 仅将文档中实际使用的字形嵌入。这显著减小了文件大小，特别是对于可能包含数万个字形的 CJK 字体。",[10,1423,1424],{"id":1424},"支持的字体格式",[1426,1427,1428,1441],"table",{},[1429,1430,1431],"thead",{},[1432,1433,1434,1438],"tr",{},[1435,1436,1437],"th",{},"格式",[1435,1439,1440],{},"支持情况",[1442,1443,1444,1453,1461,1469],"tbody",{},[1432,1445,1446,1450],{},[1447,1448,1449],"td",{},"TrueType (.ttf)",[1447,1451,1452],{},"完全支持",[1432,1454,1455,1458],{},[1447,1456,1457],{},"OpenType (.otf)",[1447,1459,1460],{},"部分支持（TrueType 轮廓）",[1432,1462,1463,1466],{},[1447,1464,1465],{},"WOFF / WOFF2",[1447,1467,1468],{},"不支持",[1432,1470,1471,1474],{},[1447,1472,1473],{},"Type 1",[1447,1475,1468],{},[10,1477,1478],{"id":1478},"推荐字体",[1426,1480,1481,1490],{},[1429,1482,1483],{},[1432,1484,1485,1487],{},[1435,1486,5],{},[1435,1488,1489],{},"适用场景",[1442,1491,1492,1500,1508,1516,1524,1532],{},[1432,1493,1494,1497],{},[1447,1495,1496],{},"Noto Sans JP",[1447,1498,1499],{},"日文文本",[1432,1501,1502,1505],{},[1447,1503,1504],{},"Noto Sans SC",[1447,1506,1507],{},"简体中文",[1432,1509,1510,1513],{},[1447,1511,1512],{},"Noto Sans KR",[1447,1514,1515],{},"韩文文本",[1432,1517,1518,1521],{},[1447,1519,1520],{},"Noto Sans",[1447,1522,1523],{},"拉丁/西文文本",[1432,1525,1526,1529],{},[1447,1527,1528],{},"Inter",[1447,1530,1531],{},"现代 UI 风格文档",[1432,1533,1534,1537],{},[1447,1535,1536],{},"Roboto Mono",[1447,1538,1539],{},"代码和等宽文本",[10,1541,1543],{"id":1542},"json-schema-中的字体使用","JSON Schema 中的字体使用",[14,1545,1546],{},"使用 JSON schema 时，通过 Go 选项注册字体：",[18,1548,1550],{"className":20,"code":1549,"language":22,"meta":23,"style":23},"fontData, _ := os.ReadFile(\"fonts/NotoSansJP-Regular.ttf\")\n\nschema := []byte(`{\n    \"page\": {\"size\": \"A4\"},\n    \"body\": [\n        {\"row\": {\"cols\": [\n            {\"span\": 12, \"text\": \"日本語テキスト\", \"style\": {\"font\": \"NotoSansJP\"}}\n        ]}}\n    ]\n}`)\n\ndoc, err := template.FromJSON(schema, nil,\n    template.WithFont(\"NotoSansJP\", fontData),\n)\n",[25,1551,1552,1578,1582,1604,1609,1614,1619,1624,1629,1634,1643,1647,1676,1698],{"__ignoreMap":23},[28,1553,1554,1556,1558,1560,1562,1564,1566,1568,1570,1572,1574,1576],{"class":30,"line":31},[28,1555,35],{"class":34},[28,1557,39],{"class":38},[28,1559,42],{"class":34},[28,1561,45],{"class":38},[28,1563,48],{"class":34},[28,1565,51],{"class":38},[28,1567,55],{"class":54},[28,1569,58],{"class":38},[28,1571,61],{"class":38},[28,1573,65],{"class":64},[28,1575,61],{"class":38},[28,1577,70],{"class":38},[28,1579,1580],{"class":30,"line":73},[28,1581,77],{"emptyLinePlaceholder":76},[28,1583,1584,1587,1589,1592,1596,1598,1601],{"class":30,"line":80},[28,1585,1586],{"class":34},"schema ",[28,1588,45],{"class":38},[28,1590,1591],{"class":38}," []",[28,1593,1595],{"class":1594},"spNyl","byte",[28,1597,58],{"class":38},[28,1599,1600],{"class":38},"`",[28,1602,1603],{"class":64},"{\n",[28,1605,1606],{"class":30,"line":99},[28,1607,1608],{"class":64},"    \"page\": {\"size\": \"A4\"},\n",[28,1610,1611],{"class":30,"line":123},[28,1612,1613],{"class":64},"    \"body\": [\n",[28,1615,1616],{"class":30,"line":149},[28,1617,1618],{"class":64},"        {\"row\": {\"cols\": [\n",[28,1620,1621],{"class":30,"line":175},[28,1622,1623],{"class":64},"            {\"span\": 12, \"text\": \"日本語テキスト\", \"style\": {\"font\": \"NotoSansJP\"}}\n",[28,1625,1626],{"class":30,"line":340},[28,1627,1628],{"class":64},"        ]}}\n",[28,1630,1631],{"class":30,"line":365},[28,1632,1633],{"class":64},"    ]\n",[28,1635,1636,1639,1641],{"class":30,"line":388},[28,1637,1638],{"class":64},"}",[28,1640,1600],{"class":38},[28,1642,70],{"class":38},[28,1644,1645],{"class":30,"line":715},[28,1646,77],{"emptyLinePlaceholder":76},[28,1648,1649,1652,1654,1657,1659,1661,1663,1666,1668,1671,1673],{"class":30,"line":750},[28,1650,1651],{"class":34},"doc",[28,1653,39],{"class":38},[28,1655,1656],{"class":34}," err ",[28,1658,45],{"class":38},[28,1660,88],{"class":34},[28,1662,51],{"class":38},[28,1664,1665],{"class":54},"FromJSON",[28,1667,58],{"class":38},[28,1669,1670],{"class":34},"schema",[28,1672,39],{"class":38},[28,1674,1675],{"class":38}," nil,\n",[28,1677,1678,1680,1682,1684,1686,1688,1690,1692,1694,1696],{"class":30,"line":786},[28,1679,102],{"class":34},[28,1681,51],{"class":38},[28,1683,130],{"class":54},[28,1685,58],{"class":38},[28,1687,61],{"class":38},[28,1689,137],{"class":64},[28,1691,61],{"class":38},[28,1693,39],{"class":38},[28,1695,144],{"class":34},[28,1697,120],{"class":38},[28,1699,1700],{"class":30,"line":819},[28,1701,70],{"class":38},[10,1703,1704],{"id":1704},"下一步",[1706,1707,1708,1717],"ul",{},[1709,1710,1711,1716],"li",{},[1712,1713,1715],"a",{"href":1714},"/zh/docs/guide/headers-footers","页眉和页脚"," — 页面级内容",[1709,1718,1719,1723],{},[1712,1720,1722],{"href":1721},"/zh/docs/api-reference/elements","元素"," — 所有内容元素类型",[1725,1726,1727],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":23,"searchDepth":73,"depth":73,"links":1729},[1730,1733,1737,1738,1739,1740,1741],{"id":12,"depth":73,"text":12,"children":1731},[1732],{"id":181,"depth":80,"text":181},{"id":531,"depth":73,"text":532,"children":1734},[1735,1736],{"id":871,"depth":80,"text":872},{"id":1363,"depth":80,"text":1364},{"id":1418,"depth":73,"text":1418},{"id":1424,"depth":73,"text":1424},{"id":1478,"depth":73,"text":1478},{"id":1542,"depth":73,"text":1543},{"id":1704,"depth":73,"text":1704},"在 gpdf 中使用字体和 CJK 文本","md",{},"/zh/docs/guide/fonts",{"title":5,"description":1742},"zh/docs/2.guide/3.fonts","QOYMXhT77rtyfIXqKMpdeZEHU5M5RrADry9IBqSHins",1776529282732]