Master’s Thesis Presentation • Software Engineering — Analysis and Optimization of TrueType Font BytecodeExport this event to calendar

Monday, December 3, 2018 11:30 AM EST

Zeming Liu, Master’s candidate
David R. Cheriton School of Computer Science

TrueType font is a vectorized font which is used by almost all modern devices. TrueType font bytecode is a highly-dynamic stack-based bytecode language, which is hard to perform static analysis and optimizations on. It is executed by the font engines when rendering the font, to align the glyphs for specific screens and font sizes. The fonts used by webpages are always subset to include only the glyphs used by the webpages, to save the limited bandwidth and device’s memory. While current font manipulating techniques do not touch the bytecode, which makes the subset fonts contain un-optimized bytecode programs. Since accessing webpages using hand-held devices, such as smart phones, using 4G connection is more and more popular, it is the time to introduce TrueType bytecode analysis and optimization to font manipulation techniques. 

COI is the first attempt to manipulate TrueType bytecode, which enables the analysis and optimization of TrueType bytecode. This work improved the design of our the prototype abstract executor, introducing new features to COI. We also performed basic optimizations on COI and completed the cycle by translating the COI back to TrueType bytecode. 

Our latest abstract executor and COI can successfully translate TrueType font programs to COI more practically. Our experiments show that the optimization can reduce the size of bytecode and the optimized font yields the same bitmaps as the original font.

Location 
DC - William G. Davis Computer Research Centre
2314
200 University Avenue West

Waterloo, ON N2L 3G1
Canada

S M T W T F S
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
  1. 2024 (96)
    1. April (19)
    2. March (27)
    3. February (25)
    4. January (25)
  2. 2023 (296)
    1. December (20)
    2. November (28)
    3. October (15)
    4. September (25)
    5. August (30)
    6. July (30)
    7. June (22)
    8. May (23)
    9. April (32)
    10. March (31)
    11. February (18)
    12. January (22)
  3. 2022 (245)
  4. 2021 (210)
  5. 2020 (217)
  6. 2019 (255)
  7. 2018 (217)
  8. 2017 (36)
  9. 2016 (21)
  10. 2015 (36)
  11. 2014 (33)
  12. 2013 (23)
  13. 2012 (4)
  14. 2011 (1)
  15. 2010 (1)
  16. 2009 (1)
  17. 2008 (1)