font-ch-en

该库用于获取浏览器可用中文字体

此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.cn-greasyfork.org/scripts/501723/1416523/font-ch-en.js

  1. var dataFont = {
  2. windows: [{
  3. ch: '宋体',
  4. en: 'SimSun'
  5. }, {
  6. ch: '黑体',
  7. en: 'SimHei'
  8. }, {
  9. ch: '微软雅黑',
  10. en: 'Microsoft Yahei'
  11. }, {
  12. ch: '微软正黑体',
  13. en: 'Microsoft JhengHei'
  14. }, {
  15. ch: '楷体',
  16. en: 'KaiTi'
  17. }, {
  18. ch: '新宋体',
  19. en: 'NSimSun'
  20. }, {
  21. ch: '仿宋',
  22. en: 'FangSong'
  23. }],
  24. 'OS X': [{
  25. ch: '苹方',
  26. en: 'PingFang SC'
  27. }, {
  28. ch: '华文黑体',
  29. en: 'STHeiti'
  30. }, {
  31. ch: '华文楷体',
  32. en: 'STKaiti'
  33. }, {
  34. ch: '华文宋体',
  35. en: 'STSong'
  36. }, {
  37. ch: '华文仿宋',
  38. en: 'STFangsong'
  39. }, {
  40. ch: '华文中宋',
  41. en: 'STZhongsong'
  42. }, {
  43. ch: '华文琥珀',
  44. en: 'STHupo'
  45. }, {
  46. ch: '华文新魏',
  47. en: 'STXinwei'
  48. }, {
  49. ch: '华文隶书',
  50. en: 'STLiti'
  51. }, {
  52. ch: '华文行楷',
  53. en: 'STXingkai'
  54. }, {
  55. ch: '冬青黑体简',
  56. en: 'Hiragino Sans GB'
  57. }, {
  58. ch: '兰亭黑-简',
  59. en: 'Lantinghei SC'
  60. }, {
  61. ch: '翩翩体-简',
  62. en: 'Hanzipen SC'
  63. }, {
  64. ch: '手札体-简',
  65. en: 'Hannotate SC'
  66. }, {
  67. ch: '宋体-简',
  68. en: 'Songti SC'
  69. }, {
  70. ch: '娃娃体-简',
  71. en: 'Wawati SC'
  72. }, {
  73. ch: '魏碑-简',
  74. en: 'Weibei SC'
  75. }, {
  76. ch: '行楷-简',
  77. en: 'Xingkai SC'
  78. }, {
  79. ch: '雅痞-简',
  80. en: 'Yapi SC'
  81. }, {
  82. ch: '圆体-简',
  83. en: 'Yuanti SC'
  84. }],
  85. 'office': [{
  86. ch: '幼圆',
  87. en: 'YouYuan'
  88. }, {
  89. ch: '隶书',
  90. en: 'LiSu'
  91. }, {
  92. ch: '华文细黑',
  93. en: 'STXihei'
  94. }, {
  95. ch: '华文楷体',
  96. en: 'STKaiti'
  97. }, {
  98. ch: '华文宋体',
  99. en: 'STSong'
  100. }, {
  101. ch: '华文仿宋',
  102. en: 'STFangsong'
  103. }, {
  104. ch: '华文中宋',
  105. en: 'STZhongsong'
  106. }, {
  107. ch: '华文彩云',
  108. en: 'STCaiyun'
  109. }, {
  110. ch: '华文琥珀',
  111. en: 'STHupo'
  112. }, {
  113. ch: '华文新魏',
  114. en: 'STXinwei'
  115. }, {
  116. ch: '华文隶书',
  117. en: 'STLiti'
  118. }, {
  119. ch: '华文行楷',
  120. en: 'STXingkai'
  121. }, {
  122. ch: '方正舒体',
  123. en: 'FZShuTi'
  124. }, {
  125. ch: '方正姚体',
  126. en: 'FZYaoti'
  127. }],
  128. 'open': [{
  129. ch: '思源黑体',
  130. en: 'Source Han Sans CN'
  131. }, {
  132. ch: '思源宋体',
  133. en: 'Source Han Serif SC'
  134. }, {
  135. ch: '文泉驿微米黑',
  136. en: 'WenQuanYi Micro Hei'
  137. }],
  138. 'hanyi': [{
  139. ch: '汉仪旗黑',
  140. en: 'HYQihei 40S'
  141. }, {
  142. ch: '汉仪旗黑',
  143. en: 'HYQihei 50S'
  144. }, {
  145. ch: '汉仪旗黑',
  146. en: 'HYQihei 60S'
  147. }, {
  148. ch: '汉仪大宋简',
  149. en: 'HYDaSongJ'
  150. }, {
  151. ch: '汉仪楷体',
  152. en: 'HYKaiti'
  153. }, {
  154. ch: '汉仪家书简',
  155. en: 'HYJiaShuJ'
  156. }, {
  157. ch: '汉仪PP体简',
  158. en: 'HYPPTiJ'
  159. }, {
  160. ch: '汉仪乐喵体简',
  161. en: 'HYLeMiaoTi'
  162. }, {
  163. ch: '汉仪小麦体',
  164. en: 'HYXiaoMaiTiJ'
  165. }, {
  166. ch: '汉仪程行体',
  167. en: 'HYChengXingJ'
  168. }, {
  169. ch: '汉仪黑荔枝',
  170. en: 'HYHeiLiZhiTiJ'
  171. }, {
  172. ch: '汉仪雅酷黑W',
  173. en: 'HYYaKuHeiW'
  174. }, {
  175. ch: '汉仪大黑简',
  176. en: 'HYDaHeiJ'
  177. }, {
  178. ch: '汉仪尚魏手书W',
  179. en: 'HYShangWeiShouShuW'
  180. }],
  181. 'fangzheng': [{"ch":"方正粗雅宋简体","en":"FZYaSongS-B-GB"},{"ch":"方正报宋简体","en":"FZBaoSong-Z04S"},{"ch":"方正粗圆简体","en":"FZCuYuan-M03S"},{"ch":"方正大标宋简体","en":"FZDaBiaoSong-B06S"},{"ch":"方正大黑简体","en":"FZDaHei-B02S"},{"ch":"方正仿宋简体","en":"FZFangSong-Z02S"},{"ch":"方正黑体简体","en":"FZHei-B01S"},{"ch":"方正琥珀简体","en":"FZHuPo-M04S"},{"ch":"方正楷体简体","en":"FZKai-Z03S"},{"ch":"方正隶变简体","en":"FZLiBian-S02S"},{"ch":"方正隶书简体","en":"FZLiShu-S01S"},{"ch":"方正美黑简体","en":"FZMeiHei-M07S"},{"ch":"方正书宋简体","en":"FZShuSong-Z01S"},{"ch":"方正舒体简体","en":"FZShuTi-S05S"},{"ch":"方正水柱简体","en":"FZShuiZhu-M08S"},{"ch":"方正宋黑简体","en":"FZSongHei-B07S"},{"ch":"方正宋三简体","en":"FZSong"},{"ch":"方正魏碑简体","en":"FZWeiBei-S03S"},{"ch":"方正细等线简体","en":"FZXiDengXian-Z06S"},{"ch":"方正细黑一简体","en":"FZXiHei I-Z08S"},{"ch":"方正细圆简体","en":"FZXiYuan-M01S"},{"ch":"方正小标宋简体","en":"FZXiaoBiaoSong-B05S"},{"ch":"方正行楷简体","en":"FZXingKai-S04S"},{"ch":"方正姚体简体","en":"FZYaoTi-M06S"},{"ch":"方正中等线简体","en":"FZZhongDengXian-Z07S"},{"ch":"方正准圆简体","en":"FZZhunYuan-M02S"},{"ch":"方正综艺简体","en":"FZZongYi-M05S"},{"ch":"方正彩云简体","en":"FZCaiYun-M09S"},{"ch":"方正隶二简体","en":"FZLiShu II-S06S"},{"ch":"方正康体简体","en":"FZKangTi-S07S"},{"ch":"方正超粗黑简体","en":"FZChaoCuHei-M10S"},{"ch":"方正新报宋简体","en":"FZNew BaoSong-Z12S"},{"ch":"方正新舒体简体","en":"FZNew ShuTi-S08S"},{"ch":"方正黄草简体","en":"FZHuangCao-S09S"},{"ch":"方正少儿简体","en":"FZShaoEr-M11S"},{"ch":"方正稚艺简体","en":"FZZhiYi-M12S"},{"ch":"方正细珊瑚简体","en":"FZXiShanHu-M13S"},{"ch":"方正粗宋简体","en":"FZCuSong-B09S"},{"ch":"方正平和简体","en":"FZPingHe-S11S"},{"ch":"方正华隶简体","en":"FZHuaLi-M14S"},{"ch":"方正瘦金书简体","en":"FZShouJinShu-S10S"},{"ch":"方正细倩简体","en":"FZXiQian-M15S"},{"ch":"方正中倩简体","en":"FZZhongQian-M16S"},{"ch":"方正粗倩简体","en":"FZCuQian-M17S"},{"ch":"方正胖娃简体","en":"FZPangWa-M18S"},{"ch":"方正宋一简体","en":"FZSongYi-Z13S"},{"ch":"方正剪纸简体","en":"FZJianZhi-M23S"},{"ch":"方正流行体简体","en":"FZLiuXingTi-M26S"},{"ch":"方正祥隶简体","en":"FZXiangLi-S17S"},{"ch":"方正粗活意简体","en":"FZCuHuoYi-M25S"},{"ch":"方正胖头鱼简体","en":"FZPangTouYu-M24S"},/*{"ch":"方正铁筋隶书简体","en":"FZTieJinLiShu-Z14S"},{"ch":"方正北魏楷书简体","en":"FZBeiWeiKaiShu-Z15S"},*/{"ch":"方正卡通简体","en":"FZKaTong-M19S"},{"ch":"方正艺黑简体","en":"FZYiHei-M20S"},{"ch":"方正水黑简体","en":"FZShuiHei-M21S"},{"ch":"方正古隶简体","en":"FZGuLi-S12S"},{"ch":"方正幼线简体","en":"FZYouXian-Z09S"},{"ch":"方正启体简体","en":"FZQiTi-S14S"},{"ch":"方正小篆体","en":"FZXiaoZhuanTi-S13T"},{"ch":"方正硬笔楷书简体","en":"FZYingBiKaiShu-S15S"},{"ch":"方正毡笔黑简体","en":"FZZhanBiHei-M22S"},{"ch":"方正硬笔行书简体","en":"FZYingBiXingShu-S16S"}]
  182. };
  183.  
  184. // 系统默认字体
  185. var rootFontFamily = (document.documentElement.currentStyle? document.documentElement.currentStyle : window.getComputedStyle(document.documentElement)).fontFamily;
  186.  
  187. var eleTables = document.getElementsByTagName('table');
  188. var lenTables = eleTables.length;
  189.  
  190. for (var index = 0; index < lenTables; index++) {
  191. var typeFont = eleTables[index].getAttribute('data-type');
  192. var arrDataFont = dataFont[typeFont];
  193. if (arrDataFont && arrDataFont.length) {
  194. var html = '';
  195. for (var start = 0; start < arrDataFont.length; start++) {
  196. var name = typeFont + start;
  197. var fontEn = arrDataFont[start].en, fontCh = arrDataFont[start].ch;
  198. // 是否标记为默认字体的处理
  199. var htmlFontEn = fontEn, htmlFontCh = fontCh;
  200. if (fontEn.toLowerCase() === rootFontFamily.toLowerCase()) {
  201. htmlFontEn += '<span class="red">(浏览器默认)</span>';
  202. } else if (fontCh.toLowerCase() === rootFontFamily.toLowerCase()) {
  203. htmlFontCh += '<span class="red">(浏览器默认)</span>';
  204. }
  205. html = html + '<tr style="font-family:\''+ fontEn +'\';"><td>'+ htmlFontCh +'</td><td>'+ htmlFontEn +'</td><td>' +
  206. '<p><input type="radio" id="'+ name +'1" name="'+ name +'" value="'+ fontCh +'"'+ (/简|汉仪|方正/.test(fontCh) || typeFont=='other'? ' disabled': '') +'><label for="'+ name +'1">中文名</label></p>' +
  207. '<p><input type="radio" id="'+ name +'2" name="'+ name +'" value="'+ fontEn +'" checked><label for="'+ name +'2">英文名</label></p>' +
  208. '<p><input type="radio" id="'+ name +'3" name="'+ name +'" value=""><label for="'+ name +'3">浏览器默认</label></p>' +
  209. '</td></tr>';
  210. }
  211. eleTables[index].getElementsByTagName('tbody')[0].innerHTML = html;
  212. // 复选框事件
  213. eleTables[index].onclick = function (event) {
  214. event = event || window.event;
  215. var target = event.target;
  216. if (target && target.type == 'radio') {
  217. target.parentNode.parentNode.parentNode.style.fontFamily = target.value;
  218. }
  219. };
  220. }
  221. }