jpc_helper_font_width.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. 'use strict';
  2. /**
  3. * Created by Tony on 2019/12/12.
  4. */
  5. const fontWidthMap = {
  6. 宋体: {
  7. 宽: {
  8. _6: 6,
  9. _7: 7,
  10. _8: 8,
  11. _9: 9,
  12. _10: 10,
  13. _11: 11,
  14. _12: 12,
  15. _13: 13,
  16. _14: 14,
  17. _15: 15,
  18. _16: 16,
  19. _17: 17,
  20. _18: 18,
  21. _19: 19,
  22. _20: 20,
  23. _21: 21,
  24. _22: 22,
  25. _23: 23,
  26. _24: 24,
  27. _25: 25,
  28. _26: 26,
  29. _27: 27,
  30. _28: 28,
  31. _29: 29,
  32. _30: 30,
  33. _31: 31,
  34. _32: 32,
  35. _33: 33,
  36. _34: 34,
  37. _35: 35,
  38. _36: 36,
  39. _37: 37,
  40. _38: 38,
  41. _39: 39,
  42. _40: 40,
  43. _41: 41,
  44. _42: 42,
  45. _43: 43,
  46. _44: 44,
  47. _45: 45,
  48. _46: 46,
  49. _47: 47,
  50. _48: 48,
  51. _49: 49,
  52. _50: 50,
  53. _51: 51,
  54. _52: 52,
  55. _53: 53,
  56. _54: 54,
  57. _55: 55,
  58. _56: 56,
  59. _57: 57,
  60. _58: 58,
  61. _59: 59,
  62. _60: 60,
  63. _61: 61,
  64. _62: 62,
  65. _63: 63,
  66. _64: 64,
  67. },
  68. 窄: {
  69. _6: 3,
  70. _7: 3.5,
  71. _8: 4,
  72. _9: 4.5,
  73. _10: 5,
  74. _11: 5.5,
  75. _12: 6,
  76. _13: 6.5,
  77. _14: 7,
  78. _15: 7.5,
  79. _16: 8,
  80. _17: 8.5,
  81. _18: 9,
  82. _19: 9.5,
  83. _20: 10,
  84. _21: 10.5,
  85. _22: 11,
  86. _23: 11.5,
  87. _24: 12,
  88. _25: 12.5,
  89. _26: 13,
  90. _27: 13.5,
  91. _28: 14,
  92. _29: 14.5,
  93. _30: 15,
  94. _31: 15.5,
  95. _32: 16,
  96. _33: 16.5,
  97. _34: 17,
  98. _35: 17.5,
  99. _36: 18,
  100. _37: 18.5,
  101. _38: 19,
  102. _39: 19.5,
  103. _40: 20,
  104. _41: 20.5,
  105. _42: 21,
  106. _43: 21.5,
  107. _44: 22,
  108. _45: 22.5,
  109. _46: 23,
  110. _47: 23.5,
  111. _48: 24,
  112. _49: 24.5,
  113. _50: 25,
  114. _51: 25.5,
  115. _52: 26,
  116. _53: 26.5,
  117. _54: 27,
  118. _55: 27.5,
  119. _56: 28,
  120. _57: 28.5,
  121. _58: 29,
  122. _59: 29.5,
  123. _60: 30,
  124. _61: 30.5,
  125. _62: 31,
  126. _63: 31.5,
  127. _64: 32,
  128. },
  129. },
  130. 黑体: {
  131. 宽: {
  132. _6: 6,
  133. _7: 7,
  134. _8: 8,
  135. _9: 9,
  136. _10: 10,
  137. _11: 11,
  138. _12: 12,
  139. _13: 13,
  140. _14: 14,
  141. _15: 15,
  142. _16: 16,
  143. _17: 17,
  144. _18: 18,
  145. _19: 19,
  146. _20: 20,
  147. _21: 21,
  148. _22: 22,
  149. _23: 23,
  150. _24: 24,
  151. _25: 25,
  152. _26: 26,
  153. _27: 27,
  154. _28: 28,
  155. _29: 29,
  156. _30: 30,
  157. _31: 31,
  158. _32: 32,
  159. _33: 33,
  160. _34: 34,
  161. _35: 35,
  162. _36: 36,
  163. _37: 37,
  164. _38: 38,
  165. _39: 39,
  166. _40: 40,
  167. _41: 41,
  168. _42: 42,
  169. _43: 43,
  170. _44: 44,
  171. _45: 45,
  172. _46: 46,
  173. _47: 47,
  174. _48: 48,
  175. _49: 49,
  176. _50: 50,
  177. _51: 51,
  178. _52: 52,
  179. _53: 53,
  180. _54: 54,
  181. _55: 55,
  182. _56: 56,
  183. _57: 57,
  184. _58: 58,
  185. _59: 59,
  186. _60: 60,
  187. _61: 61,
  188. _62: 62,
  189. _63: 63,
  190. _64: 64,
  191. },
  192. 窄: {
  193. _6: 3,
  194. _7: 3.5,
  195. _8: 4,
  196. _9: 4.5,
  197. _10: 5,
  198. _11: 5.5,
  199. _12: 6,
  200. _13: 6.5,
  201. _14: 7,
  202. _15: 7.5,
  203. _16: 8,
  204. _17: 8.5,
  205. _18: 9,
  206. _19: 9.5,
  207. _20: 10,
  208. _21: 10.5,
  209. _22: 11,
  210. _23: 11.5,
  211. _24: 12,
  212. _25: 12.5,
  213. _26: 13,
  214. _27: 13.5,
  215. _28: 14,
  216. _29: 14.5,
  217. _30: 15,
  218. _31: 15.5,
  219. _32: 16,
  220. _33: 16.5,
  221. _34: 17,
  222. _35: 17.5,
  223. _36: 18,
  224. _37: 18.5,
  225. _38: 19,
  226. _39: 19.5,
  227. _40: 20,
  228. _41: 20.5,
  229. _42: 21,
  230. _43: 21.5,
  231. _44: 22,
  232. _45: 22.5,
  233. _46: 23,
  234. _47: 23.5,
  235. _48: 24,
  236. _49: 24.5,
  237. _50: 25,
  238. _51: 25.5,
  239. _52: 26,
  240. _53: 26.5,
  241. _54: 27,
  242. _55: 27.5,
  243. _56: 28,
  244. _57: 28.5,
  245. _58: 29,
  246. _59: 29.5,
  247. _60: 30,
  248. _61: 30.5,
  249. _62: 31,
  250. _63: 31.5,
  251. _64: 32,
  252. },
  253. },
  254. 楷体: {
  255. 宽: {
  256. _6: 6,
  257. _7: 7,
  258. _8: 8,
  259. _9: 9,
  260. _10: 10,
  261. _11: 11,
  262. _12: 12,
  263. _13: 13,
  264. _14: 14,
  265. _15: 15,
  266. _16: 16,
  267. _17: 17,
  268. _18: 18,
  269. _19: 19,
  270. _20: 20,
  271. _21: 21,
  272. _22: 22,
  273. _23: 23,
  274. _24: 24,
  275. _25: 25,
  276. _26: 26,
  277. _27: 27,
  278. _28: 28,
  279. _29: 29,
  280. _30: 30,
  281. _31: 31,
  282. _32: 32,
  283. _33: 33,
  284. _34: 34,
  285. _35: 35,
  286. _36: 36,
  287. _37: 37,
  288. _38: 38,
  289. _39: 39,
  290. _40: 40,
  291. _41: 41,
  292. _42: 42,
  293. _43: 43,
  294. _44: 44,
  295. _45: 45,
  296. _46: 46,
  297. _47: 47,
  298. _48: 48,
  299. _49: 49,
  300. _50: 50,
  301. _51: 51,
  302. _52: 52,
  303. _53: 53,
  304. _54: 54,
  305. _55: 55,
  306. _56: 56,
  307. _57: 57,
  308. _58: 58,
  309. _59: 59,
  310. _60: 60,
  311. _61: 61,
  312. _62: 62,
  313. _63: 63,
  314. _64: 64,
  315. },
  316. 窄: {
  317. _6: 3,
  318. _7: 3.5,
  319. _8: 4,
  320. _9: 4.5,
  321. _10: 5,
  322. _11: 5.5,
  323. _12: 6,
  324. _13: 6.5,
  325. _14: 7,
  326. _15: 7.5,
  327. _16: 8,
  328. _17: 8.5,
  329. _18: 9,
  330. _19: 9.5,
  331. _20: 10,
  332. _21: 10.5,
  333. _22: 11,
  334. _23: 11.5,
  335. _24: 12,
  336. _25: 12.5,
  337. _26: 13,
  338. _27: 13.5,
  339. _28: 14,
  340. _29: 14.5,
  341. _30: 15,
  342. _31: 15.5,
  343. _32: 16,
  344. _33: 16.5,
  345. _34: 17,
  346. _35: 17.5,
  347. _36: 18,
  348. _37: 18.5,
  349. _38: 19,
  350. _39: 19.5,
  351. _40: 20,
  352. _41: 20.5,
  353. _42: 21,
  354. _43: 21.5,
  355. _44: 22,
  356. _45: 22.5,
  357. _46: 23,
  358. _47: 23.5,
  359. _48: 24,
  360. _49: 24.5,
  361. _50: 25,
  362. _51: 25.5,
  363. _52: 26,
  364. _53: 26.5,
  365. _54: 27,
  366. _55: 27.5,
  367. _56: 28,
  368. _57: 28.5,
  369. _58: 29,
  370. _59: 29.5,
  371. _60: 30,
  372. _61: 30.5,
  373. _62: 31,
  374. _63: 31.5,
  375. _64: 32,
  376. },
  377. },
  378. Arial: {
  379. 宽: {
  380. _6: 6,
  381. _7: 7,
  382. _8: 8,
  383. _9: 9,
  384. _10: 10,
  385. _11: 11,
  386. _12: 12,
  387. _13: 13,
  388. _14: 14,
  389. _15: 15,
  390. _16: 16,
  391. _17: 17,
  392. _18: 18,
  393. _19: 19,
  394. _20: 20,
  395. _21: 21,
  396. _22: 22,
  397. _23: 23,
  398. _24: 24,
  399. _25: 25,
  400. _26: 26,
  401. _27: 27,
  402. _28: 28,
  403. _29: 29,
  404. _30: 30,
  405. _31: 31,
  406. _32: 32,
  407. _33: 33,
  408. _34: 34,
  409. _35: 35,
  410. _36: 36,
  411. _37: 37,
  412. _38: 38,
  413. _39: 39,
  414. _40: 40,
  415. _41: 41,
  416. _42: 42,
  417. _43: 43,
  418. _44: 44,
  419. _45: 45,
  420. _46: 46,
  421. _47: 47,
  422. _48: 48,
  423. _49: 49,
  424. _50: 50,
  425. _51: 51,
  426. _52: 52,
  427. _53: 53,
  428. _54: 54,
  429. _55: 55,
  430. _56: 56,
  431. _57: 57,
  432. _58: 58,
  433. _59: 59,
  434. _60: 60,
  435. _61: 61,
  436. _62: 62,
  437. _63: 63,
  438. _64: 64,
  439. },
  440. 窄: {
  441. _6: 3.3399999141693115,
  442. _7: 3.8899998664855957,
  443. _8: 4.449999809265137,
  444. _9: 5.009999752044678,
  445. _10: 5.559999942779541,
  446. _11: 6.119999885559082,
  447. _12: 6.670000076293945,
  448. _13: 7.230000019073486,
  449. _14: 7.789999961853027,
  450. _15: 8.34000015258789,
  451. _16: 8.899999618530273,
  452. _17: 9.449999809265136,
  453. _18: 10.010000228881836,
  454. _19: 10.569999694824218,
  455. _20: 11.119999885559082,
  456. _21: 11.679999351501464,
  457. _22: 12.239999771118164,
  458. _23: 12.789999961853027,
  459. _24: 13.34999942779541,
  460. _25: 13.899999618530273,
  461. _26: 14.460000038146972,
  462. _27: 15.019999504089355,
  463. _28: 15.569999694824218,
  464. _29: 16.1299991607666,
  465. _30: 16.68000030517578,
  466. _31: 17.239999771118164,
  467. _32: 17.799999237060547,
  468. _33: 18.350000381469726,
  469. _34: 18.90999984741211,
  470. _35: 19.469999313354492,
  471. _36: 20.020000457763672,
  472. _37: 20.579999923706054,
  473. _38: 21.1299991607666,
  474. _39: 21.689998626708984,
  475. _40: 22.25,
  476. _41: 22.799999237060547,
  477. _42: 23.35999870300293,
  478. _43: 23.90999984741211,
  479. _44: 24.469999313354492,
  480. _45: 25.029998779296875,
  481. _46: 25.579999923706054,
  482. _47: 26.139999389648437,
  483. _48: 26.69999885559082,
  484. _49: 27.25,
  485. _50: 27.809999465942383,
  486. _51: 28.35999870300293,
  487. _52: 28.920000076293945,
  488. _53: 29.479999542236328,
  489. _54: 30.029998779296875,
  490. _55: 30.59000015258789,
  491. _56: 31.139999389648437,
  492. _57: 31.69999885559082,
  493. _58: 32.2599983215332,
  494. _59: 32.80999755859375,
  495. _60: 33.369998931884766,
  496. _61: 33.93000030517578,
  497. _62: 34.47999954223633,
  498. _63: 35.040000915527344,
  499. _64: 35.59000015258789,
  500. },
  501. },
  502. getFontWidth(fontName, fontHeight, typeStr) {
  503. let rst = 12;
  504. if (fontWidthMap[fontName]) {
  505. rst = fontWidthMap[fontName][typeStr]['_' + fontHeight];
  506. } else {
  507. rst = fontWidthMap['宋体'][typeStr]['_' + fontHeight];
  508. }
  509. return rst;
  510. },
  511. };
  512. module.exports = fontWidthMap;