字體設計與文字編碼
HW10
國立臺北科技大學資訊工程系
目錄
P.2
評分標準
P.3
01
章節 01
評分標準
P.4
懸賞功能(額外加分)
稿紙掃描圖片自動校正程式開發
P.5
製作稿紙
P.6
02
章節 02
下載程式碼
P.7
下載完成解壓縮
檔案內容
P.8
PDF 檔案夾:裝步驟二完成生成的 138 個 pdf 檔案
Table 檔案夾:裝步驟一完成生成的 138 個 svg 檔案
步驟一:生成 138 張 svg 稿紙
步驟二:將 138 個 svg 檔案加上 qrcode
步驟三:將 138 張 svg 轉成 138 個 pdf 檔案
CP950.json:Code Page 950 字元的 big5 和 unicode 編碼
個人資訊修改
四步驟
步驟四:將 138 張 pdf 檔案合併成一個 pdf 檔案
PIP 安裝 requirements.txt 的套件
唯一需要修改的檔案
安裝 requirements.txt 的套件
打開 cmd 輸入:
pip install –r requirements.txt
P.9
執行 python
使用 spyder 、 vscode 或 指令輸入 都行
P.10
步驟 0
P.11
步驟一
生成 138 張 svg 稿紙
svg 會生成在 Table 資料夾中
指令輸入:
python 1_SVGtable.py
P.12
……
步驟二
將 138 個 svg 檔案加上 qrcode
指令輸入:
python 2_QR_add.py
P.13
步驟三
將 138 張 svg 轉成 138 個 pdf 檔案
pdf 會生成在 PDF 資料夾中
指令輸入:
python 3_SVG2PDF.py
P.14
……
步驟四
將 138 個 pdf 檔案合併為 1 個 pdf 檔案
指令輸入:
python 4_PDFmerge.py
P.15
結果
P.16
序號(編號)
頁碼
頁碼
學號_姓名
書寫區
字順
應寫入書寫區之字元
該字元 Unicode
頁碼 QRcode
手寫字請寫在綠色框框中!
注意事項
如果是電子書寫
請儲存成 PDF 再轉成 JPG/PNG
(如果直接存成 JPG/PNG 圖檔解析度會偏低)
P.17
切割成圖檔
P.18
03
章節 03
旋轉校正角度(紙本掃描)
P.19
角度微傾斜
角度轉正
旋轉校正角度(紙本掃描)
P.20
切割稿紙
P.21
經過角度校正稿紙
檔名:'U+' + 'unicode編碼'
自動校正切割程式(+縮放字符、相似度)
注意:適用一次執行 138 頁的綠框稿紙!
P.23
對齊和縮放字符圖像
P.24
紙本書寫掃描檔案
請下載自己學號的資料夾!
P.25
製作手寫字
04
P.26
轉檔
將切割下來的圖檔轉換成 SVG 格式
P.27
轉檔
Potrace.js Demo 使用步驟
P.28
點選左方資料夾圖示
選擇切割完成的文字圖檔資料夾
點選最下方按鈕
上傳完成
轉檔
P.29
解壓縮 下載的壓縮檔
我們將會使用 `svg_image` 資料夾
打包字體
將轉換完成的 SVG 打包成字體
P.30
SVG
手寫字體
打包字體
Font SVG Viewer 使用步驟
P.31
此處記得打勾
拖拉基底字體到此處
推薦基底字體:
cjkfonts 全瀨體
打包字體
P.32
點選右側資料夾圖示
點選 Select
打勾
選擇 SVG 資料夾
點選右下角 TTF 圖示
下載
打包完成
字寬調整
05
P.33
下載 fontforge
P.34
支援所有通用字型格式的字型編輯器,可用於多個作業系統(包括Linux、Windows 和 OS)
P.35
下載
fontforge 使用
選擇要調整的字體
P.36
fontforge 使用
雙點擊要調整的字
P.37
fontforge 使用
P.38
調整字高
調整字寬
fontforge 使用
快速將全形改半形字寬
P.39
半形字元 ex:
0123456789
abcdefg…xyz
ABCDEFG…XYZ
!”#$%&’()*+,-./:;<=>?@[\]^_`{|}~
數字
小寫英文
大寫英文
標點符號
fontforge 使用
快速將全形改半形字寬
P.40
選取要調整的字元
fontforge 使用
快速將全形改半形字寬
P.41
自動調整
fontforge 使用
匯出字型
P.42
檔名
選擇 TrueType
取消勾選
匯出
Validte Befor Saving 會延長輸出時間,有時也會造成輸出錯誤,沒必要勾選。
設定路徑
圖像相似度
06
P.43
圖像相似度
P.44
MSE
P.45
Mean
Error
Squared
P.46
圖 B
圖 A
(對應像素值的差異)²
計算
取平均值
1/n
…
SSIM
P.47
ㄈ
x均值
y均值
x變異數
y變異數
x和y的共變異數
P.48
P.49
MSE | 4443.170 | 5445.344 | 4592.340 |
SSIM | 0.744 | 0.713 | 0.047 |
原圖
圖 1
圖 2
圖 3
無法區別➩
⇧⇧區別很大⇧⇧
LPIPS
P.50
P.51
深度學習模型 | AlexNet | VGG |
捕捉特徵 (結構、權重) | 邊緣、紋理、顏色、形狀、類別等等 | 邊緣、紋理、細節、形狀、外觀等等 |
用途 | 用於衡量圖像之間的相似性或距離 | |
差異 | 與 AlexNet 不同,VGG 模型具有更深的網路結構,因此它可以提取更多層次的特徵。具體來說,VGG 的深層卷積層學習到的特徵更加抽象 | |
計算結果
P.52
源樣黑體_EL
源樣明體_EL
同學A手寫體
P.53
| 同學A手寫體 | 源樣黑體_EL | 源樣明體_EL |
| | | |
MSE | 0.15971 | 0.25472 | 0.28015 |
SSIM | 0.78551 | 0.66654 | 0.63820 |
LPIPS | 0.38494 | 0.52781 | 0.54601 |
CircleFont.ttf
<
<
更接近1
更相似
(你的手寫字體)
<
<
計算結果
P.54
同學B手寫體
同學C手寫體
P.55
| 同學B手寫體 | 同學C手寫體 |
| | |
MSE | 0.17349 | 0.18674 |
SSIM | 0.74656 | 0.74362 |
LPIPS | 0.42531 | 0.42431 |
CircleFont.ttf
更接近1
更相似
(你的手寫字體)
<
>
圖像相似度 – 結論
☆推薦程度☆
No.1 LPIPS
No.2 SSIM
No.3 MSE
P.56
繳交資訊
07
P.57
繳交資訊
P.58
111xxxxxx.ttf
繳交資訊
P.59
資料夾請以學號命名!�(此資料夾為方便修課同學做比較)
作品集網頁 Github
P.60
Regulations
P.61