@@ -36,6 +36,8 @@ def __init__(self, engine):
3636 self .command = 'node_modules/opentype.js/bin/test-render'
3737 elif self .engine == 'fontkit' :
3838 self .command = 'src/third_party/fontkit/render'
39+ elif self .engine == 'Allsorts' :
40+ self .command = 'src/third_party/allsorts/allsorts-tools/target/release/allsorts'
3941 else :
4042 self .command = 'build/fonttest/fonttest'
4143 self .datestr = self .make_datestr ()
@@ -44,7 +46,7 @@ def __init__(self, engine):
4446 self .observed = {} # testcase --> SVG ElementTree
4547
4648 def get_version (self ):
47- if self .engine in {'CoreText' , 'FreeStack' , 'TehreerStack' }:
49+ if self .engine in {'CoreText' , 'FreeStack' , 'TehreerStack' , 'Allsorts' }:
4850 return subprocess .check_output ([self .command , '--version' ,
4951 '--engine=' + self .engine ])
5052 if self .engine in ('OpenType.js' , 'fontkit' ):
@@ -206,6 +208,8 @@ def run_command(cmd, timeout_sec):
206208def build (engine ):
207209 if engine == 'OpenType.js' or engine == 'fontkit' :
208210 subprocess .check_call (['npm' , 'install' ])
211+ elif engine == 'Allsorts' :
212+ subprocess .check_call (['cargo' , 'build' , '--release' , '--manifest-path' , 'src/third_party/allsorts/allsorts-tools/Cargo.toml' ])
209213 else :
210214 if not os .path .exists ('build' ): os .mkdir ('build' )
211215 subprocess .check_call (['cmake' , '-GNinja' , '../src' ], cwd = 'build' )
@@ -217,7 +221,7 @@ def main():
217221 etree .register_namespace ('xlink' , 'http://www.w3.org/1999/xlink' )
218222 parser = argparse .ArgumentParser ()
219223 parser .add_argument ('--engine' ,
220- choices = ['FreeStack' , 'TehreerStack' , 'CoreText' , 'DirectWrite' , 'OpenType.js' , 'fontkit' ],
224+ choices = ['FreeStack' , 'TehreerStack' , 'CoreText' , 'DirectWrite' , 'OpenType.js' , 'fontkit' , 'Allsorts' ],
221225 default = 'FreeStack' )
222226 parser .add_argument ('--output' , help = 'path to report file being written' )
223227 args = parser .parse_args ()
0 commit comments