메뉴 건너뛰기

Dev tips

JavaScript 자바스크립트로 폰트 설치 유무 확인하기

taknim 2010.04.21 22:37 조회 수 : 12082 추천:8252

http://remysharp.com/2008/07/08/how-to-detect-if-a-font-is-installed-only-using-javascript/http://wodory.com/2269아래 font.js 와 jQuery.js 를 넣고 아래와 같이 코딩

// setup
$(document).ready(
function () {  font.setup(); // run setup when the DOM is ready
});

// 설치 확인
font.isInstalled(fontname); // returns true or falseSimple.


// font.js 소스

var font = (function () {
    var test_string = 'mmmmmmmmmwwwwwww';
    var test_font = '"Comic Sans MS"';
    var notInstalledWidth = 0;
    var testbed = null;
    var guid = 0;
    
    return {
        // must be called when the dom is ready
        setup : function () {
            if ($('#fontInstalledTest').length) return;

            $('head').append('<' + 'style> #fontInstalledTest, #fontTestBed { position: absolute; left: -9999px; top: 0; visibility: hidden; } #fontInstalledTest { font-size: 50px!important; font-family: ' + test_font + ';}</' + 'style>');
            
            
            $('body').append('<div id="fontTestBed"></div>').append('<span id="fontInstalledTest" class="fonttest">' + test_string + '</span>');
            testbed = $('#fontTestBed');
            notInstalledWidth = $('#fontInstalledTest').width();
        },
        
        isInstalled : function(font) {
            guid++;
        
            var style = '<' + 'style id="fonttestStyle"> #fonttest' + guid + ' { font-size: 50px!important; font-family: ' + font + ', ' + test_font + '; } <' + '/style>';
            
            $('head').find('#fonttestStyle').remove().end().append(style);
            testbed.empty().append('<span id="fonttest' + guid + '" class="fonttest">' + test_string + '</span>');
                        
            return (testbed.find('span').width() != notInstalledWidth);
        }
    };
})();

번호 제목 글쓴이 날짜 조회 수
54 export to excel(xlsx, xls), csv, txt file - 엑셀 파일로 저장 file taknim 2016.12.15 5858
53 Regular Expressions Cheat Sheet - 정규표현식 치트 시트 taknim 2016.12.13 952
52 자바스크립트 클립보드 복사 (copy) taknim 2016.06.17 410
51 ip 국가/도시 코드(이름) 확인 (geoip) taknim 2015.02.24 2340
50 이메일, email 정규표현식 taknim 2015.02.24 2414
49 [google map api] 구글 맵스 API 로 지도 가져오기 taknim 2012.02.09 17034
48 [js] 사업자등록번호, 주민등록번호, 외국인등록번호 유효성 체크 taknim 2012.01.30 14647
47 [js] jquery 브라우저 버전 확인 자바스크립트 taknim 2012.01.10 12842
46 [js] showModalDialog Method taknim 2011.12.05 10122
45 [js & php] 비밀번호 유효성 체크 - 연속 문자, 같은 문자 taknim 2011.11.09 29262
44 navigator.userAgent 정리 taknim 2011.07.06 6645
43 [jQuery] 팝업창이나 하위프레임에서 상위 객체를 셀렉트 taknim 2011.06.07 8286
42 아이피 형식 체크 함수 taknim 2011.03.11 6599
41 모든 브라우저에 숫자만 입력받기 적용 taknim 2011.02.24 7307
40 jQuery 숫자만 입력 taknim 2010.10.27 12852
39 태그삭제하는 스크립트 taknim 2010.06.16 9900
38 javascript 에서 cookie 남기기 setcookie taknim 2010.04.22 11884
» 자바스크립트로 폰트 설치 유무 확인하기 taknim 2010.04.21 12082
36 한글 정규식 taknim 2010.02.19 9325
35 새 창에 form을 post로 전송하기 taknim 2009.09.16 10537