summaryrefslogtreecommitdiffstats
path: root/linhes/qt5-webengine/qt5-webengine-icu-78.patch
diff options
context:
space:
mode:
Diffstat (limited to 'linhes/qt5-webengine/qt5-webengine-icu-78.patch')
-rw-r--r--linhes/qt5-webengine/qt5-webengine-icu-78.patch79
1 files changed, 79 insertions, 0 deletions
diff --git a/linhes/qt5-webengine/qt5-webengine-icu-78.patch b/linhes/qt5-webengine/qt5-webengine-icu-78.patch
new file mode 100644
index 0000000..d11299c
--- /dev/null
+++ b/linhes/qt5-webengine/qt5-webengine-icu-78.patch
@@ -0,0 +1,79 @@
+https://unicode-org.github.io/icu-docs/apidoc/dev/icu4c/uchar_8h_source.html
+https://github.com/unicode-org/icu/blame/main/icu4c/source/common/unicode/uchar.h
+/usr/include/unicode/uchar.h
+
+ICU78 adds LineBreak U_LB_UNAMBIGUOUS_HYPHEN = 48,/*[HH]*/.
+U_LB_COUNT goes from 48 to 49.
+
+kBreakAllLineBreakClassTable is expected to be square with
+the same number of bits across as the lines down for every
+U_LB_COUNT LineBreak. This table should have U_LB_COUNT=49
+bit columns and 49 rows with a bunch of 1 bits sprinkled
+all over and should expand each time a new LineBreak is
+added. Rather than fiddling with the BA_LB_COUNT math or
+keep extending the table with zeros across and down as they
+did here:
+
+https://src.opensuse.org/nodejs/nodejs-electron/src/commit/ee8e43b84d0e17b17d817943357e74dee3e5474ae7e6eaff93c60926bfc3780a/text_break_iterator-icu74-breakAllLineBreakClassTable-should-be-consistent.patch
+
+we just hard set the table to 40 lines to support 0XX-39RI.
+ShouldBreakAfterBreakAll for LineBreak >= 40EB always
+return 0/false which is what the recent table patches were
+doing anyways. Look at the columns RI to VI and lines
+[RI]-[VI]. It's all zeros so everyone gave up extending
+this table with cleverly placed 1's years ago and just came
+up with Whatever Works (TM) patches. LineBreak support >=
+39RI running with 0 may be less than optimal. Here's
+another patch.
+
+https://bugs.gentoo.org/917635
+
+The original table code and patches since are all garbage
+anyways. Noone seems to understand what this table does. I
+don't either but I do know its limits and proper shape and
+that it's not required to have lines and columns added for
+each new LineBreak unless you want perfect support for new
+LineBreak.
+
+The NodeJS patch adds a 6th array column which won't
+compile on earlier ICU versions where U_LB_COUNT is small.
+
+static const unsigned char kBreakAllLineBreakClassTable[][BA_LB_COUNT / 8 + 1] = {
+
+This line is written wrong. It creates an extra byte
+column when BA_LB_COUNT is divisible by 8. Our example of
+40 LineBreak can be stored in 40/8=5 column bytes yet this
+sets the column count to 40/8+1=6. This would be correct
+though with the size of this code I don't see a problem
+allocating 40 extra bytes.
+
+static const unsigned char kBreakAllLineBreakClassTable[][(BA_LB_COUNT-1) / 8 + 1] = {
+
+severach@aur
+https://aur.archlinux.org/packages/qt5-webengine
+
+$ notepadqq
+Cannot mix incompatible Qt library (5.15.17) with this library (5.15.18)
+
+If you have trouble with an application not working, look
+through this list for packages with old versions.
+
+pacman -Qs qt5-
+
+local/qt5-base 5.15.18+kde+r109-2 (qt5)
+* A cross-platform application and UI framework
+local/qt5-webchannel 5.15.17+kde+r3-1 (qt5)
+* Provides access to QObject or QML objects from HTML clients for seamless integration of Qt applications with HTML/JavaScript clients
+
+diff -pNaru3 a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc
+--- a/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc 2025-11-11 01:42:16.454081862 -0500
++++ b/src/3rdparty/chromium/third_party/blink/renderer/platform/text/text_break_iterator.cc 2025-11-11 01:49:41.838185933 -0500
+@@ -163,7 +163,7 @@ static const unsigned char kAsciiLineBre
+ // clang-format on
+
+ #if U_ICU_VERSION_MAJOR_NUM >= 74
+-#define BA_LB_COUNT (U_LB_COUNT - 8)
++#define BA_LB_COUNT (40) /* (U_LB_COUNT - 8) */
+ #elif U_ICU_VERSION_MAJOR_NUM >= 58
+ #define BA_LB_COUNT (U_LB_COUNT - 3)
+ #else