[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 937507d 2/2: [ftview] Show empty charmaps if er
From: |
Werner Lemberg |
Subject: |
[freetype2-demos] master 937507d 2/2: [ftview] Show empty charmaps if error, including UVS. |
Date: |
Sun, 21 Nov 2021 23:21:18 -0500 (EST) |
branch: master
commit 937507d710470989f6a8706d9b4a8d73a518cebf
Author: Alexei Podtelezhnikov <apodtele@gmail.com>
Commit: Alexei Podtelezhnikov <apodtele@gmail.com>
[ftview] Show empty charmaps if error, including UVS.
* src/ftcommon.c (get_last_char): Call `FT_Set_Charmap` and handle
its errors effectively setting `num_indices` to 0.
* src/ftview.c (event_index_change, event_encoding_change): Updated.
---
src/ftcommon.c | 4 ++--
src/ftview.c | 9 +++++++--
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/src/ftcommon.c b/src/ftcommon.c
index 3453657..efa9d93 100644
--- a/src/ftcommon.c
+++ b/src/ftcommon.c
@@ -681,8 +681,8 @@
FT_UInt gidx;
- /* activate charmap */
- face->charmap = face->charmaps[idx];
+ if ( FT_Set_Charmap ( face, face->charmaps[idx] ) )
+ return -1;
do
{
diff --git a/src/ftview.c b/src/ftview.c
index 0578d78..3b44ea3 100644
--- a/src/ftview.c
+++ b/src/ftview.c
@@ -956,7 +956,7 @@
if ( status.offset < 0 )
status.offset = 0;
- else if ( status.offset >= num_indices )
+ if ( status.offset >= num_indices )
status.offset = num_indices - 1;
return old_offset == status.offset ? 0 : 1;
@@ -986,7 +986,12 @@
FTDemo_Set_Current_Font( handle, font );
- status.offset = handle->encoding == FT_ENCODING_ORDER ? 0 : 0x20;
+ if ( handle->encoding == FT_ENCODING_ORDER )
+ status.offset = 0;
+ else if ( font->num_indices <= 0x20 ) /* including UVS */
+ status.offset = font->num_indices - 1;
+ else
+ status.offset = 0x20;
return 1;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 937507d 2/2: [ftview] Show empty charmaps if error, including UVS.,
Werner Lemberg <=