# TY30/TY48 Debug 進度與下一步（您起床後看這個）

## 已發現的關鍵根因

### 1. **PrnAsk 部署路徑錯誤**（最大問題，剛剛解決）
- 我之前所有 build 都是 `E:\ConvertFW\HBSTK\build\PrnAsk.exe`
- **STK 實際執行的是 `C:\STK\S001\PrnAsk.exe`**
- 之前那個是 5/29 18:42 舊版，**完全沒套用我的任何改動**
- 5/30 01:02 已部署最新 PrnAsk.exe + Stk32.exe 到 C:\STK\S001

→ 「完全沒變」「跟錯誤一模一樣」**就是這原因**。先前所有測試結果都無效。

### 2. C:\STK\S001\system.ini DEBUG_LOG 缺漏（您提醒的）
- 已補上 `DEBUG_LOG=2` 在 system.ini 末尾
- 備份：`system.ini.bak_dbg_20260530_0105`

### 3. PRN 內容結構（已分析）
```
~IT24Ty30X0L6;TUVY ... FC15150=FC15990          ← 頂部標題 Ty30
~[EF;C39HrP24DlTt];~E;~T30;*BA862*~T24;~FM;     ← 條碼 T30
~Ty48;(P)BA862  (P)BA862                        ← (P) 區段 Ty48
(Q)1.00    A    (Q)1.00    A
~[EF;...];~E;~T20;*2026.04.25*~T24;~FM;         ← 底部條碼 T20
```

注意：**(P)BA862 在一行內出現兩次**（左標籤+右標籤同時）— 兩個 (P) 應該同大小（Ty48）。
TY30 標籤 vs TY48 標籤的差異**只在頂部標題**（TUVY vs CJK），(P)(Q) 部分**兩張都是 Ty48**。

## 您起床後第一件事

### 步驟 1：清掉舊 PDF cache（讓預覽強制重生）
```powershell
del C:\STK\S001\TMP*.pdf 2>$null
del E:\ConvertFW\900\tmp\RPT*.pdf 2>$null
```

### 步驟 2：清掉舊 debug log（看新的乾淨）
```powershell
del C:\STK\S001\DEBUG_PRNASK.TXT
```

### 步驟 3：重新觸發那張 TY30/TY48 標籤列印
（從 STK 主選單操作，產生新 PRN + 新預覽）

### 步驟 4：把 DEBUG_PRNASK.TXT 的下面這幾種行貼給我
```
DBG ~[EF;
DBG ~E ENABLE
DBG ~C
DBG ~F
DBG ~TY parsed
DBG FLUSH ASCII
```

或最簡單：把整段 log 從第一行 `DBG` 開始到結束都貼上。

## 預期分析點

新 log 會告訴我：
- ~Ty48 被 parse 到了沒？s_nFontSizeY 是 30 還 48？
- (P)BA862 渲染時 useEF 是 T 還 F？（F = Courier 模式正確）
- nPtAsc 是多少？（應該 19.2 for Ty48）
- ~FM 有沒有 reset EF 模式？

從這些 log 可以**100% 確認**：
- 我的 EF 改造方向對不對
- 真正的 bug 在哪
- 該怎麼修

## 已嘗試但失敗的方向

| 嘗試 | 結果 |
|---|---|
| GetFontPt() ×0.4 改回原樣 | (已是正確值) |
| HorizontalScaling 100 (no squash) | 無視覺改變（因為 PrnAsk 沒更新到 S001） |
| EF 模式重構（s_fontEF / s_lUseEF） | 無視覺改變（同上） |
| GDI ASCII width = cellW | 無視覺改變（同上） |

→ **真實效果未知**。需要新版 PrnAsk 跑一次才知道。

## 已部署檔案（5/30 01:02）

| 路徑 | 大小 | 修改時間 |
|---|---|---|
| C:\STK\S001\PrnAsk.exe | 8,136,192 | 01:02 ✓ 含新 EF code |
| C:\STK\S001\Stk32.exe | 7,069,696 | 01:02 ✓ 含新公式 |
| C:\STK\S001\system.ini | (補) | 01:05 ✓ DEBUG_LOG=2 |
| E:\ConvertFW\HBSTK\compat\prn_to_pdf.prg | 171,601 bytes | 含 LoadEFFont + DBG logs |

## 經驗教訓（避免再犯）

| 教訓 | 處理 |
|---|---|
| **PrnAsk/Stk32 修改後必須 deploy 到 C:\STK\S001** | 已記住，以後一定做 |
| build 完只放 build 目錄不算數 | 同上 |
| 改完先測試 BEFORE 結論「改了沒效」 | 必須 deploy + 觸發新 PRN |

---

備份檔位置（萬一要回滾）：
- `prn_to_pdf.prg.bak_dbg_20260530_0030`
- `system.ini.bak_dbg_20260530_0030`
- `C:\STK\S001\system.ini.bak_dbg_20260530_0105`
