unsigned int tsm_symbol_get_width(struct tsm_symbol_table *tbl, tsm_symbol_t sym) { const uint32_t *ch; size_t len; if (!tbl) return 0; ch = tsm_symbol_get(tbl, &sym, &len); if (len == 0) return 0; return tsm_ucs4_get_width(*ch); }
SHL_EXPORT unsigned int tsm_symbol_get_width(struct tsm_symbol_table *tbl, tsm_symbol_t sym) { int ret; const uint32_t *ch; size_t len; if (!tbl) tbl = tsm_symbol_table_default; if (!tbl) { ret = tsm_symbol_table_new(&tbl); if (ret) return sym; tsm_symbol_table_default = tbl; } ch = tsm_symbol_get(tbl, &sym, &len); if (len == 0) return 0; return tsm_ucs4_get_width(*ch); }