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
8c4b47c6
Commit
8c4b47c6
authored
Feb 11, 2021
by
Nikolay Sivov
Committed by
Alexandre Julliard
Feb 11, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dwrite/arabic: Mark glyphs with assigned action as unsafe to break.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
7d264424
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
9 additions
and
2 deletions
+9
-2
dwrite_private.h
dlls/dwrite/dwrite_private.h
+2
-0
opentype.c
dlls/dwrite/opentype.c
+1
-1
arabic.c
dlls/dwrite/shapers/arabic.c
+6
-1
No files found.
dlls/dwrite/dwrite_private.h
View file @
8c4b47c6
...
...
@@ -690,6 +690,8 @@ extern void opentype_layout_apply_gpos_features(struct scriptshaping_context *co
extern
BOOL
opentype_layout_check_feature
(
struct
scriptshaping_context
*
context
,
unsigned
int
script_index
,
unsigned
int
language_index
,
struct
shaping_feature
*
feature
,
unsigned
int
glyph_count
,
const
UINT16
*
glyphs
,
UINT8
*
feature_applies
)
DECLSPEC_HIDDEN
;
extern
void
opentype_layout_unsafe_to_break
(
struct
scriptshaping_context
*
context
,
unsigned
int
start
,
unsigned
int
end
)
DECLSPEC_HIDDEN
;
extern
BOOL
opentype_has_vertical_variants
(
struct
dwrite_fontface
*
fontface
)
DECLSPEC_HIDDEN
;
extern
HRESULT
opentype_get_vertical_glyph_variants
(
struct
dwrite_fontface
*
fontface
,
unsigned
int
glyph_count
,
const
UINT16
*
nominal_glyphs
,
UINT16
*
glyphs
)
DECLSPEC_HIDDEN
;
...
...
dlls/dwrite/opentype.c
View file @
8c4b47c6
...
...
@@ -5127,7 +5127,7 @@ static BOOL opentype_layout_context_match_input(const struct match_context *mc,
}
/* Marks text segment as unsafe to break between [start, end) glyphs. */
static
void
opentype_layout_unsafe_to_break
(
struct
scriptshaping_context
*
context
,
unsigned
int
start
,
void
opentype_layout_unsafe_to_break
(
struct
scriptshaping_context
*
context
,
unsigned
int
start
,
unsigned
int
end
)
{
unsigned
int
i
;
...
...
dlls/dwrite/shapers/arabic.c
View file @
8c4b47c6
...
...
@@ -174,7 +174,12 @@ static void arabic_setup_masks(struct scriptshaping_context *context,
/* Unaffected glyphs get action NONE with zero mask. */
for
(
i
=
0
;
i
<
context
->
glyph_count
;
++
i
)
context
->
glyph_infos
[
i
].
mask
|=
masks
[
arabic_get_shaping_action
(
context
,
i
)];
{
enum
arabic_shaping_action
action
=
arabic_get_shaping_action
(
context
,
i
);
if
(
action
!=
NONE
)
opentype_layout_unsafe_to_break
(
context
,
i
,
i
+
1
);
context
->
glyph_infos
[
i
].
mask
|=
masks
[
action
];
}
}
const
struct
shaper
arabic_shaper
=
...
...
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