Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
4a150e77
Commit
4a150e77
authored
Oct 14, 1998
by
Moshe Vainer
Committed by
Alexandre Julliard
Oct 14, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Partial implementation of GetOutlineTextMetrics32A.
Added structures for OUTLINETEXTMETRICS.
parent
27bb362f
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
207 additions
and
7 deletions
+207
-7
gdi.spec
if1632/gdi.spec
+1
-1
windows.h
include/windows.h
+132
-4
font.c
objects/font.c
+73
-1
gdi32.spec
relay32/gdi32.spec
+1
-1
No files found.
if1632/gdi.spec
View file @
4a150e77
...
...
@@ -218,7 +218,7 @@ file gdi.exe
305 stub ENGINEGETGLYPHBMP
306 stub ENGINEMAKEFONTDIR
307 pascal16 GetCharABCWidths(word word word ptr) GetCharABCWidths16
308 pascal
GetOutlineTextMetrics(word word ptr) GetOutlineTextMetrics16
308 pascal
16
GetOutlineTextMetrics(word word ptr) GetOutlineTextMetrics16
309 pascal GetGlyphOutline(word word word ptr long ptr ptr) GetGlyphOutline16
310 pascal16 CreateScalableFontResource(word str str str) CreateScalableFontResource16
311 stub GetFontData
...
...
include/windows.h
View file @
4a150e77
...
...
@@ -1499,6 +1499,135 @@ typedef struct
DECL_WINELIB_TYPE_AW
(
TEXTMETRIC
)
DECL_WINELIB_TYPE_AW
(
LPTEXTMETRIC
)
typedef
struct
tagPANOSE
{
BYTE
bFamilyType
;
BYTE
bSerifStyle
;
BYTE
bWeight
;
BYTE
bProportion
;
BYTE
bContrast
;
BYTE
bStrokeVariation
;
BYTE
bArmStyle
;
BYTE
bLetterform
;
BYTE
bMidline
;
BYTE
bXHeight
;
}
PANOSE
;
typedef
struct
_OUTLINETEXTMETRIC32A
{
UINT32
otmSize
;
TEXTMETRIC32A
otmTextMetrics
;
BYTE
otmFilter
;
PANOSE
otmPanoseNumber
;
UINT32
otmfsSelection
;
UINT32
otmfsType
;
INT32
otmsCharSlopeRise
;
INT32
otmsCharSlopeRun
;
INT32
otmItalicAngle
;
UINT32
otmEMSquare
;
INT32
otmAscent
;
INT32
otmDescent
;
UINT32
otmLineGap
;
UINT32
otmsCapEmHeight
;
UINT32
otmsXHeight
;
RECT32
otmrcFontBox
;
INT32
otmMacAscent
;
INT32
otmMacDescent
;
UINT32
otmMacLineGap
;
UINT32
otmusMinimumPPEM
;
POINT32
otmptSubscriptSize
;
POINT32
otmptSubscriptOffset
;
POINT32
otmptSuperscriptSize
;
POINT32
otmptSuperscriptOffset
;
UINT32
otmsStrikeoutSize
;
INT32
otmsStrikeoutPosition
;
INT32
otmsUnderscoreSize
;
INT32
otmsUnderscorePosition
;
LPSTR
otmpFamilyName
;
LPSTR
otmpFaceName
;
LPSTR
otmpStyleName
;
LPSTR
otmpFullName
;
}
OUTLINETEXTMETRIC32A
,
*
LPOUTLINETEXTMETRIC32A
;
typedef
struct
_OUTLINETEXTMETRIC32W
{
UINT32
otmSize
;
TEXTMETRIC32W
otmTextMetrics
;
BYTE
otmFilter
;
PANOSE
otmPanoseNumber
;
UINT32
otmfsSelection
;
UINT32
otmfsType
;
INT32
otmsCharSlopeRise
;
INT32
otmsCharSlopeRun
;
INT32
otmItalicAngle
;
UINT32
otmEMSquare
;
INT32
otmAscent
;
INT32
otmDescent
;
UINT32
otmLineGap
;
UINT32
otmsCapEmHeight
;
UINT32
otmsXHeight
;
RECT32
otmrcFontBox
;
INT32
otmMacAscent
;
INT32
otmMacDescent
;
UINT32
otmMacLineGap
;
UINT32
otmusMinimumPPEM
;
POINT32
otmptSubscriptSize
;
POINT32
otmptSubscriptOffset
;
POINT32
otmptSuperscriptSize
;
POINT32
otmptSuperscriptOffset
;
UINT32
otmsStrikeoutSize
;
INT32
otmsStrikeoutPosition
;
INT32
otmsUnderscoreSize
;
INT32
otmsUnderscorePosition
;
LPSTR
otmpFamilyName
;
LPSTR
otmpFaceName
;
LPSTR
otmpStyleName
;
LPSTR
otmpFullName
;
}
OUTLINETEXTMETRIC32W
,
*
LPOUTLINETEXTMETRIC32W
;
typedef
struct
_OUTLINETEXTMETRIC16
{
UINT16
otmSize
;
TEXTMETRIC16
otmTextMetrics
;
BYTE
otmFilter
;
PANOSE
otmPanoseNumber
;
UINT16
otmfsSelection
;
UINT16
otmfsType
;
INT16
otmsCharSlopeRise
;
INT16
otmsCharSlopeRun
;
INT16
otmItalicAngle
;
UINT16
otmEMSquare
;
INT16
otmAscent
;
INT16
otmDescent
;
UINT16
otmLineGap
;
UINT16
otmsCapEmHeight
;
UINT16
otmsXHeight
;
RECT16
otmrcFontBox
;
INT16
otmMacAscent
;
INT16
otmMacDescent
;
UINT16
otmMacLineGap
;
UINT16
otmusMinimumPPEM
;
POINT16
otmptSubscriptSize
;
POINT16
otmptSubscriptOffset
;
POINT16
otmptSuperscriptSize
;
POINT16
otmptSuperscriptOffset
;
UINT16
otmsStrikeoutSize
;
INT16
otmsStrikeoutPosition
;
INT16
otmsUnderscoreSize
;
INT32
otmsUnderscorePosition
;
LPSTR
otmpFamilyName
;
LPSTR
otmpFaceName
;
LPSTR
otmpStyleName
;
LPSTR
otmpFullName
;
}
OUTLINETEXTMETRIC16
,
*
LPOUTLINETEXTMETRIC16
;
DECL_WINELIB_TYPE_AW
(
OUTLINETEXTMETRIC
)
DECL_WINELIB_TYPE_AW
(
LPOUTLINETEXTMETRIC
)
/* ntmFlags field flags */
#define NTM_REGULAR 0x00000040L
#define NTM_BOLD 0x00000020L
...
...
@@ -7964,10 +8093,9 @@ INT32 WINAPI GetObject32W(HANDLE32,INT32,LPVOID);
HWND16
WINAPI
GetOpenClipboardWindow16
(
void
);
HWND32
WINAPI
GetOpenClipboardWindow32
(
void
);
#define GetOpenClipboardWindow WINELIB_NAME(GetOpenClipboardWindow)
/* FIXME: LPVOID should be LPOUTLINETEXTMETRIC{16,32A,32W} */
UINT16
WINAPI
GetOutlineTextMetrics16
(
HDC16
,
UINT16
,
LPVOID
);
UINT32
WINAPI
GetOutlineTextMetrics32A
(
HDC32
,
UINT32
,
LPVOID
);
UINT32
WINAPI
GetOutlineTextMetrics32W
(
HDC32
,
UINT32
,
LPVOID
);
UINT16
WINAPI
GetOutlineTextMetrics16
(
HDC16
,
UINT16
,
LPOUTLINETEXTMETRIC16
);
UINT32
WINAPI
GetOutlineTextMetrics32A
(
HDC32
,
UINT32
,
LPOUTLINETEXTMETRIC32A
);
UINT32
WINAPI
GetOutlineTextMetrics32W
(
HDC32
,
UINT32
,
LPOUTLINETEXTMETRIC32W
);
#define GetOutlineTextMetrics WINELIB_NAME_AW(GetOutlineTextMetrics)
UINT16
WINAPI
GetPaletteEntries16
(
HPALETTE16
,
UINT16
,
UINT16
,
LPPALETTEENTRY
);
UINT32
WINAPI
GetPaletteEntries32
(
HPALETTE32
,
UINT32
,
UINT32
,
LPPALETTEENTRY
);
...
...
objects/font.c
View file @
4a150e77
...
...
@@ -930,7 +930,7 @@ BOOL32 WINAPI GetTextMetrics32W( HDC32 hdc, TEXTMETRIC32W *metrics )
UINT16
WINAPI
GetOutlineTextMetrics16
(
HDC16
hdc
,
/* [in] Handle of device context */
UINT16
cbData
,
/* [in] Size of metric data array */
void
*
lpOTM
)
/* [out] Address of metric data array */
LPOUTLINETEXTMETRIC16
lpOTM
)
/* [out] Address of metric data array */
{
FIXME
(
font
,
"(%04x,%04x,%p): stub
\n
"
,
hdc
,
cbData
,
lpOTM
);
return
0
;
...
...
@@ -938,6 +938,78 @@ UINT16 WINAPI GetOutlineTextMetrics16(
/***********************************************************************
* GetOutlineTextMetrics [GDI.207] Gets metrics for TrueType fonts.
*
*
* RETURNS
* Success: Non-zero or size of required buffer
* Failure: 0
*/
UINT32
WINAPI
GetOutlineTextMetrics32A
(
HDC32
hdc
,
/* [in] Handle of device context */
UINT32
cbData
,
/* [in] Size of metric data array */
LPOUTLINETEXTMETRIC32A
lpOTM
)
/* [out] Address of metric data array */
{
UINT32
rtn
=
FALSE
;
LPTEXTMETRIC32A
lptxtMetr
;
if
(
lpOTM
==
0
)
{
lpOTM
=
(
LPOUTLINETEXTMETRIC32A
)
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
OUTLINETEXTMETRIC32A
));
rtn
=
sizeof
(
OUTLINETEXTMETRIC32A
);
cbData
=
rtn
;
}
else
{
cbData
=
sizeof
(
*
lpOTM
);
rtn
=
cbData
;
};
lpOTM
->
otmSize
=
cbData
;
lptxtMetr
=
HeapAlloc
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
sizeof
(
TEXTMETRIC32A
));
if
(
!
GetTextMetrics32A
(
hdc
,
lptxtMetr
))
{
return
0
;
}
else
{
memcpy
(
&
(
lpOTM
->
otmTextMetrics
),
lptxtMetr
,
sizeof
(
TEXTMETRIC32A
));
};
HeapFree
(
GetProcessHeap
(),
HEAP_ZERO_MEMORY
,
lptxtMetr
);
lpOTM
->
otmFilter
=
0
;
lpOTM
->
otmPanoseNumber
.
bFamilyType
=
0
;
lpOTM
->
otmPanoseNumber
.
bSerifStyle
=
0
;
lpOTM
->
otmPanoseNumber
.
bWeight
=
0
;
lpOTM
->
otmPanoseNumber
.
bProportion
=
0
;
lpOTM
->
otmPanoseNumber
.
bContrast
=
0
;
lpOTM
->
otmPanoseNumber
.
bStrokeVariation
=
0
;
lpOTM
->
otmPanoseNumber
.
bArmStyle
=
0
;
lpOTM
->
otmPanoseNumber
.
bLetterform
=
0
;
lpOTM
->
otmPanoseNumber
.
bMidline
=
0
;
lpOTM
->
otmPanoseNumber
.
bXHeight
=
0
;
lpOTM
->
otmfsSelection
=
0
;
lpOTM
->
otmfsType
=
0
;
/*
Further fill of the structure not implemented,
Needs real values for the structure members
*/
return
rtn
;
}
/***********************************************************************
* GetCharWidth16 (GDI.350)
*/
BOOL16
WINAPI
GetCharWidth16
(
HDC16
hdc
,
UINT16
firstChar
,
UINT16
lastChar
,
...
...
relay32/gdi32.spec
View file @
4a150e77
...
...
@@ -208,7 +208,7 @@ type win32
204 stdcall GetObjectA(long long ptr) GetObject32A
205 stdcall GetObjectType(long) GetObjectType
206 stdcall GetObjectW(long long ptr) GetObject32W
207 st
ub GetOutlineTextMetrics
A
207 st
dcall GetOutlineTextMetricsA(long long ptr) GetOutlineTextMetrics32
A
208 stub GetOutlineTextMetricsW
209 stdcall GetPaletteEntries(long long long ptr) GetPaletteEntries32
210 stdcall GetPath(long ptr ptr long) GetPath32
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment