[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] parthw-pk-vf 35c6834 1/3: [vf] Add utility functions.
From: |
Parth Wazurkar |
Subject: |
[freetype2] parthw-pk-vf 35c6834 1/3: [vf] Add utility functions. |
Date: |
Wed, 5 Dec 2018 13:51:20 -0500 (EST) |
branch: parthw-pk-vf
commit 35c6834a06f275194ed2363b1fd0e55ba3987bac
Author: Parth Wazurkar <address@hidden>
Commit: Parth Wazurkar <address@hidden>
[vf] Add utility functions.
* src/vf/vflib.c: Do it.
---
src/vf/vflib.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 115 insertions(+), 1 deletion(-)
diff --git a/src/vf/vflib.c b/src/vf/vflib.c
index ec49229..987ff64 100644
--- a/src/vf/vflib.c
+++ b/src/vf/vflib.c
@@ -46,7 +46,121 @@
*
*/
- /* TO-DO */
+ FT_Long vf_read_intn( FT_Stream, FT_Int );
+ FT_ULong vf_read_uintn( FT_Stream, FT_Int );
+ FT_Long vf_get_intn( FT_Byte*, FT_Int );
+ FT_ULong vf_get_uintn( FT_Byte*, FT_Int );
+
+#define READ_UINT1( stream ) (FT_Byte)vf_read_uintn( stream, 1 )
+#define READ_UINT2( stream ) (FT_Byte)vf_read_uintn( stream, 2 )
+#define READ_UINT3( stream ) (FT_Byte)vf_read_uintn( stream, 3 )
+#define READ_UINT4( stream ) (FT_Byte)vf_read_uintn( stream, 4 )
+#define READ_UINTN( stream, n ) (FT_ULong)vf_read_uintn( stream, n )
+#define READ_INT1( stream ) (FT_String)vf_read_intn( stream, 1 )
+#define READ_INT4( stream ) (FT_Long)vf_read_intn( stream, 4 )
+
+#define GET_INT1(p) (FT_Char)vf_get_intn((p), 1)
+#define GET_UINT1(p) (FT_Byte)vf_get_uintn((p), 1)
+#define GET_INT2(p) (FT_Int)vf_get_intn((p), 2)
+#define GET_UINT2(p) (FT_UInt)vf_get_uintn((p), 2)
+#define GET_INT3(p) (FT_Long)vf_get_intn((p), 3)
+#define GET_UINT3(p) (FT_ULong)vf_get_uintn((p), 3)
+#define GET_INT4(p) (FT_Long)vf_get_intn((p), 4)
+#define GET_UINT4(p) (FT_ULong)vf_get_uintn((p), 4)
+#define GET_INTN(p,n) (FT_Long)vf_get_intn((p), (n))
+#define GET_UINTN(p,n) (FT_ULong)vf_get_uintn((p), (n))
+
+/*
+ * Reading a Number from file
+ */
+
+ FT_ULong
+ vf_read_uintn( FT_Stream stream,
+ FT_Int size )
+ {
+ FT_ULong v,k;
+ FT_Error error;
+ FT_Byte tp;
+
+ v = 0L;
+
+ while ( size >= 1 )
+ {
+ if ( FT_READ_BYTE(tp) )
+ return 0;
+ k = (FT_ULong) tp;
+ v = v*256L + k;
+ --size;
+ }
+ return v;
+ }
+
+
+ FT_Long
+ vf_read_intn( FT_Stream stream,
+ FT_Int size )
+ {
+ FT_Long v;
+ FT_Byte tp;
+ FT_Error error;
+ FT_ULong z;
+
+ if ( FT_READ_BYTE(tp) )
+ return 0;
+ z = (FT_ULong) tp;
+ v = (FT_Long) z & 0xffL;
+
+ if( v & 0x80L )
+ v = v - 256L;
+ --size;
+
+ while ( size >= 1 )
+ {
+ if ( FT_READ_BYTE(tp) )
+ return 0;
+ z = (FT_ULong) tp;
+ v = v*256L + z;
+ --size;
+ }
+ return v;
+ }
+
+
+ FT_ULong
+ vf_get_uintn( FT_Byte *p,
+ FT_Int size )
+ {
+ FT_ULong v;
+
+ v = 0L;
+ while (size >= 1)
+ {
+ v = v*256L + (FT_ULong) *(p++);
+ --size;
+ }
+
+ return v;
+ }
+
+ FT_Long
+ vf_get_intn( FT_Byte *p,
+ FT_Int size )
+ {
+ FT_Long v;
+
+ v = (FT_Long)*(p++) & 0xffL;
+ if (v & 0x80L)
+ v = v - 256L;
+ --size;
+ while (size >= 1)
+ {
+ v = v*256L + (FT_ULong) *(p++);
+ --size;
+ }
+
+ return v;
+ }
+
/**************************************************************************
*
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] parthw-pk-vf 35c6834 1/3: [vf] Add utility functions.,
Parth Wazurkar <=