Typography & Localization

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.

Download GstarCAD 2027 Free Trial → AutoCAD Migration Hub