summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builds/windows/ftsystem.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/builds/windows/ftsystem.c b/builds/windows/ftsystem.c
index 9a6f0c4b0..69ef494f1 100644
--- a/builds/windows/ftsystem.c
+++ b/builds/windows/ftsystem.c
@@ -215,9 +215,21 @@
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );
if ( file == INVALID_HANDLE_VALUE )
{
- FT_ERROR(( "FT_Stream_Open:" ));
- FT_ERROR(( " could not open `%s'\n", filepathname ));
- return FT_THROW( Cannot_Open_Resource );
+ /* fall back on the alernative interface */
+#ifdef UNICODE
+ file = CreateFileA( (LPCSTR)filepathname, GENERIC_READ, FILE_SHARE_READ,
+ NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );
+#else
+ file = CreateFileW( (LPCWSTR)filepathname, GENERIC_READ, FILE_SHARE_READ,
+ NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 );
+#endif
+
+ if ( file == INVALID_HANDLE_VALUE )
+ {
+ FT_ERROR(( "FT_Stream_Open:" ));
+ FT_ERROR(( " could not open `%s'\n", filepathname ));
+ return FT_THROW( Cannot_Open_Resource );
+ }
}
#if defined _WIN32_WCE || defined _WIN32_WINDOWS || \