[util] Add hb-shape --batch
This commit is contained in:
parent
6131fb6283
commit
58e20f53bf
|
@ -160,6 +160,36 @@ struct output_buffer_t
|
||||||
int
|
int
|
||||||
main (int argc, char **argv)
|
main (int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
if (argc == 2 && !strcmp (argv[1], "--batch"))
|
||||||
|
{
|
||||||
|
unsigned int ret = 0;
|
||||||
|
char *buf = nullptr;
|
||||||
|
size_t len;
|
||||||
|
while (getline (&buf, &len, stdin) > 0)
|
||||||
|
{
|
||||||
|
size_t l = strlen (buf);
|
||||||
|
if (l && buf[l - 1] == '\n') buf[l - 1] = '\0';
|
||||||
|
main_font_text_t<shape_consumer_t<output_buffer_t>, FONT_SIZE_UPEM, 0> driver;
|
||||||
|
char *args[32];
|
||||||
|
argc = 0;
|
||||||
|
char *p = buf, *e;
|
||||||
|
args[argc++] = p;
|
||||||
|
while ((e = strchr (p, ' ')) && argc < (int) (int) ARRAY_LENGTH (args))
|
||||||
|
{
|
||||||
|
*e++ = '\0';
|
||||||
|
while (*e == ' ')
|
||||||
|
e++;
|
||||||
|
args[argc++] = p = e;
|
||||||
|
}
|
||||||
|
ret |= driver.main (argc, args);
|
||||||
|
fflush (stdout);
|
||||||
|
|
||||||
|
if (ret)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
free (buf);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
main_font_text_t<shape_consumer_t<output_buffer_t>, FONT_SIZE_UPEM, 0> driver;
|
main_font_text_t<shape_consumer_t<output_buffer_t>, FONT_SIZE_UPEM, 0> driver;
|
||||||
return driver.main (argc, argv);
|
return driver.main (argc, argv);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue