mirror of
https://github.com/reactos/reactos.git
synced 2024-08-30 15:18:33 +00:00
![Baruch Rutman](/assets/img/avatar_default.png)
Introduce BiDi (bi-directional text) support for ExtTextOut and GetCharacterPlacement, using Wine's GDI BIDI_Reorder function. Solves the main issue with CORE-7003. To be compatible with Win2k3+, introduce the "Language Pack" (LPK) dll. - All the bidi code is removed from gdi32 and replaced by calls to LPK. Gdi32 uses dynamic linking to lpk.dll. In case of linking failure no bidi processing will be available. - Implemented LpkGetCharacterPlacement. - Implement LpkExtTextOut. - Add a demo test program to show how the apis should function. - Added all the remaining code, added special case for lpDx calculation if also GCP_GLYPHSHAPE flag was called. Applications that call GCP that use GCP_GLYPHSHAPE flags should also use the GCP_REORDER flag. (As written in https://msdn.microsoft.com/en-us/library/windows/desktop/dd144860(v=vs.85).aspx ) - Add ETO_RTLREADING flag handling. Imported the ETO_RTLREADING flag handling from wine, which changes the string part order (runs). A RRR1LLLRRR2 string without will show as RRR1LLLRRR2 without it, with it RRR2LLLRRR1.
70 lines
1.8 KiB
Plaintext
70 lines
1.8 KiB
Plaintext
#include "biditext.h"
|
|
|
|
/* Our main menu */
|
|
IDR_MAINMENU MENU
|
|
BEGIN
|
|
POPUP "&File"
|
|
BEGIN
|
|
MENUITEM "E&xit", ID_FILE_EXIT
|
|
END
|
|
POPUP "&Help"
|
|
BEGIN
|
|
MENUITEM "&About", ID_HELP_ABOUT
|
|
END
|
|
END
|
|
|
|
/* Application manifest */
|
|
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "Application.manifest"
|
|
|
|
/* Executable version information */
|
|
VS_VERSION_INFO VERSIONINFO
|
|
FILEVERSION 1,0,0,0
|
|
PRODUCTVERSION 1,0,0,0
|
|
FILEFLAGSMASK VS_FFI_FILEFLAGSMASK
|
|
#ifdef _DEBUG
|
|
FILEFLAGS VS_FF_DEBUG | VS_FF_PRERELEASE
|
|
#else
|
|
FILEFLAGS 0
|
|
#endif
|
|
FILEOS VOS_NT_WINDOWS32
|
|
FILETYPE VFT_APP
|
|
FILESUBTYPE VFT2_UNKNOWN
|
|
BEGIN
|
|
BLOCK "StringFileInfo"
|
|
BEGIN
|
|
BLOCK "080904b0"
|
|
BEGIN
|
|
VALUE "CompanyName", "Transmission Zero"
|
|
VALUE "FileDescription", "Win32 Example Application"
|
|
VALUE "FileVersion", "1.0.0.0"
|
|
VALUE "InternalName", "Win32App"
|
|
VALUE "LegalCopyright", "©2017 Transmission Zero"
|
|
VALUE "OriginalFilename", "Win32App.exe"
|
|
VALUE "ProductName", "Win32 Example Application"
|
|
VALUE "ProductVersion", "1.0.0.0"
|
|
END
|
|
END
|
|
BLOCK "VarFileInfo"
|
|
BEGIN
|
|
VALUE "Translation", 0x809, 1200
|
|
END
|
|
END
|
|
|
|
/* Our "about" dialog */
|
|
IDD_ABOUTDIALOG DIALOGEX 0, 0, 147, 67
|
|
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
|
CAPTION "About"
|
|
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
|
BEGIN
|
|
ICON IDI_APPICON,IDC_STATIC,7,7,20,20
|
|
LTEXT "Win32 Example Application",IDC_STATIC,34,7,89,8
|
|
LTEXT "©2017 Transmission Zero",IDC_STATIC,34,17,86,8
|
|
DEFPUSHBUTTON "OK",IDOK,90,46,50,14,WS_GROUP
|
|
END
|
|
|
|
/* Our accelerators */
|
|
IDR_ACCELERATOR ACCELERATORS
|
|
BEGIN
|
|
"A", ID_HELP_ABOUT, VIRTKEY, ALT, NOINVERT
|
|
END
|