[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master ce69951: * bin/ftlint.c (main): Implement limit
From: |
Werner Lemberg |
Subject: |
[freetype2-demos] master ce69951: * bin/ftlint.c (main): Implement limited indexing. |
Date: |
Sun, 13 Jun 2021 23:38:44 -0400 (EDT) |
branch: master
commit ce69951f511738f7637b9a5db1c70a170a4d319a
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
* bin/ftlint.c (main): Implement limited indexing.
(Usage): Document it.
---
ChangeLog | 5 +++++
src/ftlint.c | 35 +++++++++++++++++++++++++++++------
2 files changed, 34 insertions(+), 6 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3159acd..dff7aeb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2021-06-14 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * bin/ftlint.c (main): Implement limited indexing.
+ (Usage): Document it.
+
2021-06-13 Sarthak Bhardwaj <1sarthakbhardwaj@gmail.com>
Anurag Thakur <devanuragthakur@gmail.com>
diff --git a/src/ftlint.c b/src/ftlint.c
index 9944f5d..1a6311c 100644
--- a/src/ftlint.c
+++ b/src/ftlint.c
@@ -39,7 +39,6 @@
static FT_Render_Mode render_mode = FT_RENDER_MODE_NORMAL;
static FT_Int32 load_flags = FT_LOAD_DEFAULT;
- static unsigned int num_glyphs;
static int ptsize;
static int Fail;
@@ -54,8 +53,9 @@
printf( "Usage: %s [options] ppem fontname[.ttf|.ttc] [fontname2..]\n",
name );
printf( "\n" );
- printf( " -f L Use hex number L as load flags (see `FT_LOAD_XXX').\n" );
- printf( " -r N Set render mode to N\n" );
+ printf( " -f L Use hex number L as load flags (see `FT_LOAD_XXX')\n" );
+ printf( " -r N Set render mode to N\n" );
+ printf( " -i I-J Range of glyph indices to use (default: all)\n" );
exit( 1 );
}
@@ -116,6 +116,8 @@
char* execname;
char* fname;
int opt;
+ int first_index = 0;
+ int last_index = ~0;
execname = argv[0];
@@ -123,7 +125,7 @@
if ( argc < 3 )
Usage( execname );
- while ( ( opt = getopt( argc, argv, "f:r:") ) != -1)
+ while ( ( opt = getopt( argc, argv, "f:r:i:") ) != -1)
{
switch ( opt )
@@ -145,6 +147,23 @@
}
break;
+ case 'i':
+ {
+ int j;
+ unsigned int fi, li;
+
+ j = sscanf( optarg, "%u%*[,:-]%u", &fi, &li );
+
+ if ( j == 2 )
+ {
+ first_index = fi;
+ last_index = li >= fi ? li : ~0;
+ }
+ else if ( j == 1 )
+ first_index = last_index = fi;
+ }
+ break;
+
default:
Usage( execname );
break;
@@ -232,7 +251,11 @@
if (error) Panic( "Could not open file" );
Success:
- num_glyphs = (unsigned int)face->num_glyphs;
+ if ( first_index > (unsigned int)face->num_glyphs )
+ first_index = 0;
+ if ( last_index > (unsigned int)face->num_glyphs )
+ last_index = (unsigned int)face->num_glyphs - 1;
+
#ifdef TEST_PSNAMES
{
@@ -248,7 +271,7 @@
Fail = 0;
{
- for ( id = 0; id < num_glyphs; id++ )
+ for ( id = first_index; id <= last_index; id++ )
{
error = FT_Load_Glyph( face, id, load_flags );
if ( error )
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master ce69951: * bin/ftlint.c (main): Implement limited indexing.,
Werner Lemberg <=