diff --git a/src/lib/egcpool.h b/src/lib/egcpool.h index 2f8808a5e..5c896fc5b 100644 --- a/src/lib/egcpool.h +++ b/src/lib/egcpool.h @@ -131,7 +131,9 @@ utf8_egc_len(const char* gcluster, int* colcount){ } } } - *colcount += cols; + if(*colcount == 0){ + *colcount += cols; + } ret += r; gcluster += r; prevw = wc; diff --git a/src/tests/cell.cpp b/src/tests/cell.cpp index a4693f73e..f2dcbc866 100644 --- a/src/tests/cell.cpp +++ b/src/tests/cell.cpp @@ -22,14 +22,14 @@ TEST_CASE("Cell") { CHECK(1 == nccell_cols(&c)); CHECK(4 == nccell_load(n_, &c, " ி")); cols = nccell_cols(&c); -#if defined(__linux__) || defined(__APPLE__) +#if defined(__APPLE__) CHECK(2 == cols); #else CHECK(1 == cols); #endif CHECK(4 == nccell_load(n_, &c, " ि")); cols = nccell_cols(&c); -#if defined(__linux__) || defined(__APPLE__) +#if defined(__APPLE__) CHECK(2 == cols); #else CHECK(1 == cols);