mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-25 00:38:59 +08:00
c0bf747e45
This port currently only works on Windows because the dependencies of the port (fribidi in particular) don't build on non-Windows platforms. I made patch modifications to the source code because the Visual C++ C compiler does not allow for non-constant-expression array indicesto be used to declare a static array. I've verified that this (1) builds on Windows and (2) works with a sample test that's included in the libass github repo.
44 lines
1.3 KiB
Diff
44 lines
1.3 KiB
Diff
---
|
|
libass/ass_outline.c | 4 ++--
|
|
libass/ass_render.c | 2 +-
|
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
|
|
diff --git a/libass/ass_outline.c b/libass/ass_outline.c
|
|
index 1b9afe9..527403e 100644
|
|
--- a/libass/ass_outline.c
|
|
+++ b/libass/ass_outline.c
|
|
@@ -518,7 +518,7 @@ static bool draw_arc(StrokerState *str, ASS_Vector pt,
|
|
ASS_DVector normal0, ASS_DVector normal1, double c, int dir)
|
|
{
|
|
const int max_subdiv = 15;
|
|
- double mul[max_subdiv + 1];
|
|
+ double mul[16];
|
|
|
|
ASS_DVector center;
|
|
bool small_angle = true;
|
|
@@ -554,7 +554,7 @@ static bool draw_arc(StrokerState *str, ASS_Vector pt,
|
|
static bool draw_circle(StrokerState *str, ASS_Vector pt, int dir)
|
|
{
|
|
const int max_subdiv = 15;
|
|
- double mul[max_subdiv + 1], c = 0;
|
|
+ double mul[16], c = 0;
|
|
|
|
int pos = max_subdiv;
|
|
while (c < str->split_cos && pos) {
|
|
diff --git a/libass/ass_render.c b/libass/ass_render.c
|
|
index 69c4439..f6fa85c 100644
|
|
--- a/libass/ass_render.c
|
|
+++ b/libass/ass_render.c
|
|
@@ -1235,7 +1235,7 @@ get_bitmap_glyph(ASS_Renderer *render_priv, GlyphInfo *info)
|
|
}
|
|
|
|
const int n_outlines = 3;
|
|
- ASS_Outline outline[n_outlines];
|
|
+ ASS_Outline outline[3];
|
|
outline_copy(&outline[0], info->outline);
|
|
outline_copy(&outline[1], info->border[0]);
|
|
outline_copy(&outline[2], info->border[1]);
|
|
--
|
|
2.18.0.windows.1
|
|
|