dev #465
@ -1504,6 +1504,20 @@ public class EstimateService {
|
||||
} while (!prevName.equals(itemName) && itemName.contains("&"));
|
||||
}
|
||||
|
||||
// 3. 엑셀/PDF 폰트(MS PGothic, BIZUDPGothic) 미지원 특수문자 치환
|
||||
// Ⓡ(U+24C7) 등 Enclosed Alphanumerics는 일본어 폰트가 지원하므로 깨지지 않음
|
||||
itemName = itemName
|
||||
.replace("\u00AE", "\u24C7") // ® → Ⓡ
|
||||
.replace("\u2122", "(TM)") // ™ → (TM)
|
||||
.replace("\u00A9", "(C)") // © → (C)
|
||||
.replace("\u2013", "-") // – (en dash) → -
|
||||
.replace("\u2014", "-") // — (em dash) → -
|
||||
.replace("\u2018", "'") // ' → '
|
||||
.replace("\u2019", "'") // ' → '
|
||||
.replace("\u201C", "\"") // " → "
|
||||
.replace("\u201D", "\"") // " → "
|
||||
.replace("\u2026", "..."); // … → ...
|
||||
|
||||
itemResponse.setItemName(itemName);
|
||||
} catch (Exception e) {
|
||||
log.warn("Excel itemName processing failed: {}", itemName);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user