How to Fix Question Marks (???) & Garbled SHX / BigFont Text in DWG
Eliminate question marks, missing CJK characters, and inline MTEXT font overrides in GstarCAD 2027 and AutoCAD using FONTALT, BigFont pairing, and gcad.fmp.
⚡ Quick Executive Fix
Open the STYLE dialog, check 'Use Big Font' to pair single-byte romans.shx/txt.shx with gbcbig.shx or hztxt.shx, set FONTALT to simplex.shx, and strip inline Word font overrides inside MTEXT.
1. Engineering Root-Cause Diagnosis inside the AC1032 DWG Database
When a `.dwg` file displays strings of question marks (`????`) or garbled ASCII symbols (`Èý层Æ½Ãæ图`), the CAD engine is attempting to render double-byte East Asian characters (Chinese GB2312/GBK, Japanese Shift-JIS, or Korean EUC-KR) through a single-byte 8-bit Western `.shx` vector font without an associated **BigFont (`AcDbTextStyleTableRecord::bigFontFileName`)**, or the required TrueType/SHX font is absent from the workstation's support path.
2. Step-by-Step Resolution Protocol in AutoCAD & GstarCAD 2027
1. Pair Missing BigFonts in the Text Style Dialog (STYLE)
Run STYLE, inspect each text style showing a yellow alert badge, select simplex.shx or romans.shx under Font Name, check the Use Big Font box, and select gbcbig.shx (or `hztxt.shx`). Click Apply and run REGENALL.
2. Configure Automatic Substitution via FONTALT & Font Mapping
Set FONTALT = "simplex.shx" and register permanent corporate substitutions (`customfont;gbcbig.shx`) inside gcad.fmp (pointed to by `FONTMAP`).
3. Strip Inline MTEXT Rich-Text Font Overrides
If `STYLE` is fixed but specific `MTEXT` notes remain garbled, they contain hardcoded inline codes like `{\fSimSun|...}`. Use the AutoLISP scrubber below to strip inline font overrides cleanly.
3. Automated AutoLISP Diagnostic & Repair Script (C:STRIPMTEXTFONT)
Load the following production AutoLISP routine into GstarCAD 2027 or AutoCAD via APPLOAD (or add it to gcaddoc.lsp) to automate this repair across affected project files:
(defun C:STRIPMTEXTFONT ( / ss i ent elist str cleanStr reg)
(vl-load-com)
(princ "\nSelect MTEXT objects with garbled inline font overrides: ")
(if (setq ss (ssget '((0 . "MTEXT"))))
(repeat (setq i (sslength ss))
(setq ent (ssname ss (setq i (1- i)))
elist (entget ent)
str (cdr (assoc 1 elist)))
;; Strip {\f...; inline font family tags while keeping text content
(while (vl-string-search "\f" str)
(setq pos1 (vl-string-search "\f" str)
pos2 (vl-string-search ";" str pos1))
(if pos2
(setq str (strcat (substr str 1 pos1) (substr str (+ pos2 2))))
)
)
(entmod (subst (cons 1 str) (assoc 1 elist) elist))
)
)
(command "_.REGEN")
(princ)
)
4. Diagnostic System Variables & Edge-Case Matrix
| Failure Symptom / Scenario | Command / SysVar | Production Remediation Rule |
|---|---|---|
| Text displays as ???????? after opening | STYLE > Use Big Font |
Enable 'Use Big Font' and assign gbcbig.shx to resolve double-byte glyphs. |
| Prompt asks for missing .shx on every open | FONTALT = simplex.shx |
Assigns a default fallback font when custom vendor SHX files are absent. |
| Changing TextStyle doesn't update MTEXT font | C:STRIPMTEXTFONT |
Inline RTF font code {\f...;} overrides the style; strip inline formatting. |
Experience Faster, Corruption-Free DWG Engineering in GstarCAD 2027
Built by Suzhou Gstarsoft Co., Ltd. (SSE: 688657), GstarCAD 2027 features multi-threaded DWG open/save, built-in RegApp/Scale-List scrubbers, and perpetual licensing.