@@ -36,6 +36,8 @@ def __init__(self, engine):
36
36
self .command = 'node_modules/opentype.js/bin/test-render'
37
37
elif self .engine == 'fontkit' :
38
38
self .command = 'src/third_party/fontkit/render'
39
+ elif self .engine == 'Allsorts' :
40
+ self .command = 'src/third_party/allsorts/allsorts-tools/target/release/allsorts'
39
41
else :
40
42
self .command = 'build/fonttest/fonttest'
41
43
self .datestr = self .make_datestr ()
@@ -44,7 +46,7 @@ def __init__(self, engine):
44
46
self .observed = {}# testcase --> SVG ElementTree
45
47
46
48
def get_version (self ):
47
- if self .engine in {'CoreText' ,'FreeStack' ,'TehreerStack' }:
49
+ if self .engine in {'CoreText' ,'FreeStack' ,'TehreerStack' , 'Allsorts' }:
48
50
return subprocess .check_output ([self .command ,'--version' ,
49
51
'--engine=' + self .engine ])
50
52
if self .engine in ('OpenType.js' ,'fontkit' ):
@@ -206,6 +208,8 @@ def run_command(cmd, timeout_sec):
206
208
def build (engine ):
207
209
if engine == 'OpenType.js' or engine == 'fontkit' :
208
210
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' ])
209
213
else :
210
214
if not os .path .exists ('build' ):os .mkdir ('build' )
211
215
subprocess .check_call (['cmake' ,'-GNinja' ,'../src' ],cwd = 'build' )
@@ -217,7 +221,7 @@ def main():
217
221
etree .register_namespace ('xlink' ,'http://www.w3.org/1999/xlink' )
218
222
parser = argparse .ArgumentParser ()
219
223
parser .add_argument ('--engine' ,
220
- choices = ['FreeStack' ,'TehreerStack' ,'CoreText' ,'DirectWrite' ,'OpenType.js' ,'fontkit' ],
224
+ choices = ['FreeStack' ,'TehreerStack' ,'CoreText' ,'DirectWrite' ,'OpenType.js' ,'fontkit' , 'Allsorts' ],
221
225
default = 'FreeStack' )
222
226
parser .add_argument ('--output' ,help = 'path to report file being written' )
223
227
args = parser .parse_args ()