본문으로 바로가기

sans-serif font


웹에서 일부 폰트가 나오지 않는 문제가 발생되어 확인해보니

베트남 알파벳 문자였다.


웹에 출력이 안되는 이유는 사용했던 맑은고딕 폰트에 

대략 이런 문자들(베트남 알파벳 문자)이 속한 경우 발생되었다.

aAàÀảẢãÃáÁạẠăĂằẰẳẲẵẴắẮặẶâÂầẦẩẨẫẪấẤậẬbBcCdDđĐeEèÈẻẺẽẼéÉẹẸêÊềỀểỂễỄếẾệỆ
fFgGhHiIìÌỉỈĩĨíÍịỊjJkKlLmMnNoOòÒỏỎõÕóÓọỌôÔồỒổỔỗỖốỐộỘơƠờỜởỞỡỠớỚợỢpPqQrRsStTu
UùÙủỦũŨúÚụỤưƯừỪửỬữỮứỨựỰvVwWxXyYỳỲỷỶỹỸýÝỵỴzZ


이러한 경우 font-family에 sans-serif 를 넣어주면 출력되지 않는 문자들을 볼 수 있다.



===========================================


만약 페이지에 베트남어가 있는지 확인해 보려고 하는 경우 

페이지의 문자들을 검사하여 확인해 볼 수 있다.


베트남 문자의 유니코드 범위를 설정하고 해당 유니코드가 페이지에 있는지 확인하면 된다.

베트남 문자의 유니코드 범위는 아래와 같다.


 Basic Latin

 {U+0000..U+007F}

 Latin-1 Supplement

 {U+0080..U+00FF}

 Latin Extended-A, -B

 {U+0100..U+024F}

 Latin Extended Additional

 {U+1E00..U+1EFF}

 Combining Diacritical Marks

 {U+0300..U+036F}


위 유니코드 범위를 사용하여 페이지에 베트남 문자가 있는지 확인 가능하다.


확인방법

아래 명령으로 문자의 유니코드를 확인할 수 있습니다.

/^[\u1E00-\u1EFF]+$/.test("문자") //반환 값은 true or false


아래는 샘플.

1. id가 contents 인 녀석의 html에 Latin Extended Additional 문자가 있는지 확인.

2. 해당 문자가 있다면 폰트 변경.

1
2
3
4
5
6
7
8
9
10
11
12
var chkfont = false
for(var a=0; a<dmj("#contents").text().length-1;a++){ 
    if(/^[\u1E00-\u1EFF]+$/.test(dmj("#contents").text().slice(a,a+1))){
        chkfont = true
        break;
    }
}
 
 
if(chkfont == true){
    dmj("#contents").css("font-family","sans-serif");
}

cs



유사한 형태로 한글, 한자 등 유니코드로 확인이 가능 합니다.

기록 및 참고용.





'개발 > Javascript' 카테고리의 다른 글

javascript SHA-512 암호화  (0) 2023.05.12