字体指纹

发布时间 2024-01-03 13:13:48作者: AngDH

 

 

div = document.createElement('div');
div.style.visibility = 'hidden';
div.innerHTML = '<span lang="zh" style="font-family:mmllii;font-size:114px">mmmmmmmmmmmlliii</span>';
document.body.appendChild(div);
span = div.children[0];

console.log('默认的>>>offsetWidth>>', span.offsetWidth);
console.log('默认的>>>offsetHeight>>', span.offsetHeight);

angdh_ziti = ['SimHei', 'SimSun', 'NSimSun', 'FangSong', 'KaiTi', 'FangSongGB2312', 'KaiTiGB2312', 'Microsoft YaHei', 'Hiragino Sans GB', 'STHeiti Light', 'STHeiti', 'STKaiti', 'STSong', 'STFangsong', 'LiSu', 'YouYuan', 'STXihei', 'STZhongsong', 'FZShuTi', 'FZYaoti', 'STCaiyun', 'STHupo', 'STLiti', 'STXingkai', 'STXinwei', 'DFPhelvetica', 'Tibetan Machine Uni', 'Cooljazz', 'Verdana', 'Helvetica Neue LT Pro 35 Thin', 'tahoma', 'LG Smart_H test Regular', 'DINPro-light', 'Helvetica LT 43 Light Extended', 'HelveM_India', 'SECRobotoLight Bold', 'OR Mohanty Unicode Regular', 'Droid Sans Thai', 'Kannada Sangam MN', 'DDC Uchen', 'clock2016_v1.1', 'SamsungKannadaRegular', 'MI LANTING Bold', 'SamsungSansNum3L Light', 'verdana', 'HelveticaNeueThin', 'SECFallback', 'SamsungEmoji', 'Telugu Sangam MN', 'Carrois Gothic SC', 'Flyme Light Roboto Light', 'SoMA-Digit Light', 'SoMC Sans Regular', 'HYXiYuanJ', 'sst', 'samsung-sans-num4T', 'gm_mengmeng', 'Lohit Kannada', 'times new roman', 'samsung-sans-num4L', 'serif-monospace', 'SamsungSansNum-3T Thin', 'ColorOSUI-XThin', 'Droid Naskh Shift Alt', 'SamsungTeluguRegular', 'Bengali OTS', 'MI LanTing_GB Outside YS', 'FZMiaoWu_GB18030', 'helve-neue-regular', 'SST Medium', 'Courier New', 'Khmer Mondulkiri Bold', 'Helvetica LT 23 Ultra Light Extended', 'Helvetica LT 25 Ultra Light', 'Roboto Medium', 'Droid Sans Bold', 'goudy', 'sans-serif-condensed-light', 'SFinder', 'noto-sans-cjk-medium', 'miui', 'MRocky PRC Bold', 'AndroidClock Regular', 'SamsungSansNum-4L Light', 'sans-serif-thin', 'AaPangYaer', 'casual', 'BN MohantyOT Bold', 'x-sst', 'NotoSansMyanmarZawgyi', 'Helvetica LT 33 Thin Extended', 'AshleyScriptMT Alt', 'Noto Sans Devanagari UI', 'Roboto Condensed Bold', 'Roboto Medium Italic', 'miuiex', 'Noto Sans Gurmukhi UI', 'SST Vietnamese Light', 'LG_Oriya', 'hycoffee', 'x-sst-ultralight', 'DFHeiAW7-A', 'FZZWXBTOT_Unicode', 'Devanagari Sangam MN Bold', 'sans-serif-monospace', 'Padauk Book Bold', 'LG-FZYingBiKaiShu-S15-V2.2', 'LG-FZYingBiKaiShu-S15-V2.3', 'HelveticaNeueLT Pro 35 Th', 'Microsoft Himalaya', 'SamsungSansFallback', 'SST Medium Italic', 'AndroidEmoji', 'SamsungSansNum-3R', 'ITC Stone Serif', 'sans-serif-smallcaps', 'x-sst-medium', 'LG_Sinhalese', 'Roboto Thin Italic', 'century-gothic', 'Clockopia', 'Luminous_Sans', 'Floridian Script Alt', 'Noto Sans Gurmukhi Bold', 'LTHYSZK Bold', 'GS_Thai', 'SamsungNeoNum_3T_2', 'Arabic', 'hans-sans-normal', 'Lohit Telugu', 'HYQiHei-50S Light', 'Lindsey for Samsung', 'AR Crystalhei DB', 'Samsung Sans Medium', 'samsung-sans-num45', 'hans-sans-bold', 'Luminous_Script', 'SST Condensed', 'SamsungDevanagariRegular', 'Anjal Malayalam MN', 'SamsungThai(test)', 'FZLanTingHei-M-GB18030', 'Hebrew OTS', 'GS45_Arab(AndroidOS)', 'Samsung Sans Light', 'Choco cooky', 'helve-neue-thin', 'PN MohantyOT Medium', 'LG-FZKaTong-M19-V2.4', 'Droid Serif', 'SamsungSinhalaRegular', 'helvetica', 'LG-FZKaTong-M19-V2.2', 'Noto Sans Devanagari UI Bold', 'SST Light', 'DFPEmoji', 'weatherfontnew Regular', 'RobotoNum3R', 'DINPro-medium', 'Samsung Sans Num55', 'SST Heavy Italic', 'LGlock4 Regular_0805', 'Georgia', 'noto-sans-cjk', 'Telugu Sangam MN Bold', 'MIUI EX Normal', 'HYQiHei-75S Bold', 'NotoSansMyanmarZawgyi Bold', 'yunospro-black', 'helve-neue-normal', 'Luminous_Serif', 'TM MohantyOT Normal', 'SamsungSansNum-3Lv Light', 'Samsung Sans Num45', 'SmartGothic Medium', 'georgia', 'casual-font-type', 'Samsung Sans Bold', 'small-capitals', 'MFinance PRC Bold', 'FZLanTingHei_GB18030', 'SamsungArmenian', 'Roboto Bold', 'century-gothic-bold', 'x-sst-heavy', 'SST Light Italic', 'TharLon', 'x-sst-light', 'Dinbol Regular', 'SamsungBengaliRegular', 'KN MohantyOTSmall Medium', 'hypure', 'SamsungTamilRegular', 'Malayalam Sangam MN', 'Noto Sans Kannada UI', 'helve-neue', 'Helvetica LT 55 Roman', 'Noto Sans Kannada Bold', 'Sanpya', 'SamsungPunjabiRegular', 'samsung-sans-num4Lv', 'LG_Kannada', 'Samsung Sans Regular', 'Zawgyi-One', 'Droid Serif Bold Italic', 'FZKATJW', 'courier new', 'SamsungEmojiRegular', 'MIUI EX Bold', 'Android Emoji', 'Noto Naskh Arabic UI', 'LCD Com', 'Futura Medium BT', 'Vivo-extract', 'Bangla Sangam MN Bold', 'hans-sans-regular', 'SNum-3R', 'SNum-3T', 'hans-sans', 'SST Ultra Light', 'Roboto Regular', 'Roboto Light', 'Hanuman', 'newlggothic', 'DFHeiAW5-A', 'hans-sans-light', 'Plate Gothic', 'SNum-3L', 'Helvetica LT 45 Light', 'Myanmar Sangam Zawgyi Bold', 'lg-sans-serif-light', 'MIUI EX Light', 'Roboto Thin', 'SoMA Bold', 'Padauk', 'Samsung Sans', 'Spacious_SmallCap', 'sans-serif', 'DV MohantyOT Medium', 'Stable_Slap', 'monaco', 'Flyme-Light', 'fzzys-dospy', 'ScreenSans', 'clock2016', 'Roboto Condensed Bold Italic', 'Arial', 'KN Mohanty Medium', 'MotoyaLMaru W3 mono', 'Handset Condensed', 'Roboto Italic', 'HTC Hand', 'SST Ultra Light Italic', 'SST Vietnamese Roman', 'Noto Naskh Arabic UI Bold', 'chnfzxh-medium', 'SNumCond-3T', 'century-gothic-regular', 'default_roboto-light', 'Noto Sans Myanmar', 'Myanmar Sangam MN', 'Apple Color Emoji', 'weatherfontReg', 'SamsungMalayalamRegular', 'arial', 'Droid Serif Bold', 'CPo3 PRC Bold', 'MI LANTING', 'SamsungKorean-Regular', 'test45 Regular', 'spirit_time', 'Devanagari Sangam MN', 'ScreenSerif', 'Roboto', 'cursive-font-type', 'STHeiti_vivo', 'chnfzxh', 'Samsung ClockFont 3A', 'Roboto Condensed Regular', 'samsung-neo-num3R', 'GJ MohantyOT Medium', 'Chulho Neue Lock', 'roboto-num3L', 'helve-neue-ultraLightextended', 'SamsungOriyaRegular', 'SamsungSansNum-4Lv Light', 'MYingHei_18030_C2-Bold', 'DFPShaoNvW5-GB', 'Roboto Black', 'helve-neue-ultralight', 'gm_xihei', 'LGlock4 Light_0805', 'Gujarati Sangam MN', 'Malayalam Sangam MN Bold', 'roboto-num3R', 'STXihei_vivo', 'FZZhunYuan_GB18030', 'noto-sans-cjk-light', 'coloros', 'Noto Sans Gurmukhi', 'Noto Sans Symbols', 'Roboto Light Italic', 'Lohit Tamil', 'cursive', 'default_roboto', 'BhashitaComplexSans Bold', 'LG_Number_Roboto Thin', 'monospaced-without-serifs', 'Helvetica LT 35 Thin', 'samsung-sans-num3LV', 'DINPro', 'Jomolhari', 'sans-serif-light', 'helve-neue-black', 'Lohit Bengali', 'Myanmar Sangam Zawgyi', 'Droid Serif Italic', 'Roboto Bold Italic', 'NanumGothic', 'Sony Mobile UD Gothic Regular', 'Georgia Bold Italic', 'samsung-sans-num3Lv', 'yunos-thin', 'samsung-neo-num3T-cond', 'Noto Sans Myanmar UI Bold', 'lgserif', 'FZYouHei-R-GB18030', 'Lohit Punjabi', 'baskerville', 'samsung-sans-num4Tv', 'samsung-sans-thin', 'LG Emoji', 'AnjaliNewLipi', 'SamsungSansNum-4T Thin', 'SamsungKorean-Bold', 'miuiex-light', 'Noto Sans Kannada', 'Roboto Normal Italic', 'Georgia Italic', 'sans-serif-medium', 'Smart Zawgyi', 'Roboto Condensed Italic', 'Noto Sans Kannada UI Bold', 'DFP Sc Sans Heue30_103', 'LG_Number_Roboto Bold', 'Padauk Book', 'x-sst-condensed', 'Sunshine-Uchen', 'Roboto Black Italic', 'Ringo Color Emoji', 'Devanagari OTS', 'Smart Zawgyi Pro', 'FZLanTingHei-M-GBK', 'AndroidClock-Large Regular', 'proportionally-spaced-without-serifs', 'Cutive Mono', 'times', 'LG Smart_H test Bold', 'DINPro-Light', 'sans-serif-black', 'Lohit Devanagari', 'proportionally-spaced-with-serifs', 'samsung-sans-num3L', 'MYoung PRC Medium', 'DFGothicPW5-BIG5HK-SONY', 'hans-sans-medium', 'SST Heavy', 'LG-FZZhunYuan-M02-V2.2', 'MyanmarUNew Regular', 'Noto Naskh Arabic Bold', 'SamsungGujarathiRegular', 'fantasy', 'helve-neue-light', 'Helvetica Neue OTS Bold', 'noto-sans-cjk-bold', 'samsung-sans-num3R', 'Lindsey Samsung', 'samsung-sans-num3T', 'ScreenSerifMono', 'ETrump Myanmar_ZW', 'helve-neue-thinextended', 'Noto Naskh Arabic', 'LG_Gujarati', 'Smart_Monospaced', 'Tamil Sangam MN', 'LG Emoji NonAME', 'Roboto Condensed Light Italic', 'gm_jingkai', 'FZLanTingKanHei_GB18030', 'lgtravel', 'palatino', 'Georgia Bold', 'Droid Sans', 'LG_Punjabi', 'SmartGothic Bold', 'Samsung Sans Thin', 'SST Condensed Bold', 'Comics_Narrow', 'courier', 'Oriya Sangam MN', 'helve-neue-lightextended', 'FZLanTingHei-R-GB18030', 'AR CrystalheiHKSCS DB', 'serif', 'RTWSYueRoudGoG0v1-Regular', 'MiaoWu_prev', 'FZY1K', 'LG_Number_Roboto Regular', 'AndroidClock', 'SoMA Regular', 'HYQiHei-40S Lightx', 'lg-sans-serif', 'Dancing Script Bold', 'default', 'sec-roboto-light', 'ColorOSUI-Regular', 'test Regular', 'Tamil Sangam MN Bold', 'FZYingBiXingShu-S16', 'RobotoNum3L Light', 'monospaced-with-serifs', 'samsung-sans-num35', 'Cool jazz', 'SamsungNeoNum-3L', 'STXingkai', 'ScreenSansMono', 'DFPWaWaW5-GB', 'SamsungSansNum-3L Light', 'Bangla Sangam MN', 'Gurmukhi Sangam MN', 'SECRobotoLight', 'hyfonxrain', 'MYingHeiGB18030C-Bold', 'samsung-sans-light', 'Helvetica LT 65 Medium', 'Droid Sans Fallback', 'Roboto Test1 Bold', 'Noto Sans Myanmar Bold', 'sans-serif-condensed-custom', 'SamsungNeoNum-3T', 'Samsung Sans Num35', 'monospace', 'TL Mohanty Medium', 'helve-neue-medium', 'LTHYSZK', 'Roboto Condensed custome Bold', 'Myanmar3', 'Droid Sans Devanagari', 'ShaoNv_prev', 'samsung-neo-num3L', 'FZLanTingHei-EL-GBK', 'yunos', 'samsung-neo-num3T', 'Times New Roman', 'helve-neue-bold', 'noto-sans-cjk-regular', 'Noto Sans Gurmukhi UI Bold', 'DINPro-black', 'FZLanTingHei-EL-GB18030', 'SST Vietnamese Medium', 'Roboto Condensed Light', 'SST Vietnamese Bold', 'AR DJ-KK', 'Droid Sans SEMC', 'Noto Sans Myanmar UI', 'Coming Soon', 'MYuppy PRC Medium', 'Rosemary', 'Lohit Gujarati', 'Roboto Condensed custom Bold', 'FZLanTingHeiS-R-GB', 'Helvetica Neue OTS', 'Kaiti_prev', 'Roboto-BigClock', 'FZYBKSJW', 'Handset Condensed Bold', 'SamsungGeorgian', 'Dancing Script', 'sans-serif-condensed', 'hans-sans-thin', 'SamsungSansNum-4Tv Thin', 'Lohit Odia', 'BhashitaComplexSans']


result= {}

for (let i = 0; i < angdh_ziti.length;i++) {
    span.style.fontFamily = angdh_ziti[i]
    
    console.log( angdh_ziti[i] ,'|||offsetWidth>>>' ,span.offsetWidth)
    console.log( angdh_ziti[i] ,'|||offsetHeight>>>' ,span.offsetHeight)

    result[angdh_ziti[i]] = {
        offsetWidth:span.offsetWidth,
        offsetHeight:span.offsetHeight
    }
}

debugger