summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-text/i18n
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/css/css-text/i18n')
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/META.yml2
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-001.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-002.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-003.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-004.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-005.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-006.html53
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-007.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-008.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-009.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-010.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-011.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-012.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-014.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-015.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-016.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-017.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-018.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-019.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-020.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-021.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-022.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-023.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-024.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-025.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-026.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-030.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-031.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-032.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-033.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-034.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-035.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-036.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-037.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-038.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-039.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-040.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-041.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-042.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-043.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-044.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-045.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-046.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-047.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-048.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-049.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-050.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-051.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-052.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-060.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-061.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-062.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-063.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-064.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-065.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-066.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-067.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-068.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-069.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-070.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-071.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-072.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-073.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-074.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-075.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-076.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-077.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-078.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-080.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-081.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-082.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-083.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-084.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-085.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-086.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-090.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-091.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-092.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-093.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-095.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-096.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-097.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-098.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-099.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-100.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-101.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-102.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-103.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-104.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-105.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-106.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-107.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-108.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-109.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-110.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-111.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-112.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-113.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-114.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-115.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-116.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-117.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-118.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-120.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-121.html52
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-122.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-123.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-124.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-125.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-126.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-127.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-128.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-130.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-131.html54
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-001.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-002.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-003.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-004.html42
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-005.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-006.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-007.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-008.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-009.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-010.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-011.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-012.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-014.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-015.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-016.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-017.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-018.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-019.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-020.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-021.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-022.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-023.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-024.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-025.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-026.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-027.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-028.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-029.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-030.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-031.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-032.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-033.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-034.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-035.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-036.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-037.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-038.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-039.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-040.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-041.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-042.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-043.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-044.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-045.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-046.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-047.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-049.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-050.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-051.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-052.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-053.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-054.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-055.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-056.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-057.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-058.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-059.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-060.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-061.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-062.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-063.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-064.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-065.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-100.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-101.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-102.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-103.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-104.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-105.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-106.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-107.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-108.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-109.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-110.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-111.html42
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-112.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-113.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-114.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-115.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-116.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-117.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-119.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-120.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-121.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-122.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-123.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-124.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-125.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-126.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-127.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-128.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-129.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-130.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-131.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-132.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-133.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-134.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-135.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-136.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-137.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-138.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-139.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-140.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-141.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-142.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-143.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-144.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-145.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-146.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-147.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-148.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-149.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-150.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-151.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-152.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-153.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-155.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-156.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-157.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-158.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-159.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-160.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-161.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-162.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-163.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-164.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-165.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-166.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-167.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-168.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-169.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-170.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-171.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-200.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-201.html44
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-202.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-203.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-204.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-205.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-206.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-207.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-208.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-209.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-210.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-211.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-212.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-213.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-214.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-215.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-217.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-218.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-219.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-220.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-221.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-222.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-223.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-225.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-226.html43
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html70
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-loose.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-normal.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-strict.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-loose.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-normal.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-strict.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-loose.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-normal.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-strict.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-normal.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-strict.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-loose.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-normal.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-strict.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-loose.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-normal.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-strict.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-001-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-002-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-003-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-004-ref.html31
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-005-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-006-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-007-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-008-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-009-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-010-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-011-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-012-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-014-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-015-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-016-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-017-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-018-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-019-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-020-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-021-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-022-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-023-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-024-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-025-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-026-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-027-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-028-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-029-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-030-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-031-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-032-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-033-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-034-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-035-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-036-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-037-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-038-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-039-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-040-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-041-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-042-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-043-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-044-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-045-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-046-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-047-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-049-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-050-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-051-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-052-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-053-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-054-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-055-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-056-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-057-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-058-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-059-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-060-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-061-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-062-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-063-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-064-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-065-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-100-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-101-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-102-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-103-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-104-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-105-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-106-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-107-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-108-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-109-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-110-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-111-ref.html31
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-112-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-113-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-114-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-115-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-116-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-117-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-119-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-120-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-121-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-122-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-123-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-124-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-125-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-126-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-127-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-128-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-129-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-130-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-131-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-132-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-133-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-134-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-135-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-136-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-137-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-138-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-139-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-140-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-141-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-142-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-143-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-144-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-145-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-146-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-147-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-148-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-149-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-150-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-151-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-152-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-153-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-155-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-156-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-157-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-158-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-159-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-160-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-161-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-162-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-163-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-164-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-165-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-166-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-167-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-168-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-169-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-170-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-171-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-200-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-201-ref.html33
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-202-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-203-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-204-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-205-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-206-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-207-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-208-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-209-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-210-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-211-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-212-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-213-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-214-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-215-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-217-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-218-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-219-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-220-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-221-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-222-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-223-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-225-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-226-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-250-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-251-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-252-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-253-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-254-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-255-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-256-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-257-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-258-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-259-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-260-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-261-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-262-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-263-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-264-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-265-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-266-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-267-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-268-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-269-ref.html32
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/support/BPG-Ucnobi-U.woffbin0 -> 33144 bytes
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-loose.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-normal.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-strict.html125
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-loose.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-normal.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-strict.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-loose.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-normal.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-strict.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-loose.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-normal.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-strict.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-loose.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-normal.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-strict.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-loose.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-normal.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-strict.html117
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html68
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html71
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html72
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html76
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-loose.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-normal.html74
-rw-r--r--testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict.html74
535 files changed, 25243 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-text/i18n/META.yml b/testing/web-platform/tests/css/css-text/i18n/META.yml
new file mode 100644
index 0000000000..9fa8c3b6c9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/META.yml
@@ -0,0 +1,2 @@
+suggested_reviewers:
+ - r12a
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-001.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-001.html
new file mode 100644
index 0000000000..63677ae055
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-001.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0020 SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="When white-space allows wrapping, line breaking behavior defined for the WJ, ZW, and GL line-breaking classes in [UAX14] must be honored.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x20;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x20;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x20;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x20;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-002.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-002.html
new file mode 100644
index 0000000000..80bc4a6093
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-002.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+200B ZERO WIDTH SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="When white-space allows wrapping, line breaking behavior defined for the WJ, ZW, and GL line-breaking classes in [UAX14] must be honored.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-003.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-003.html
new file mode 100644
index 0000000000..09fabc6888
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-003.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2002 EN SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2002;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2002;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2002;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2002;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-004.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-004.html
new file mode 100644
index 0000000000..0caffeebae
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-004.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2003 EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2003;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2003;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2003;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2003;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-005.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-005.html
new file mode 100644
index 0000000000..9d17bdaa1c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-005.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2004 THREE-PER-EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2004;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2004;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2004;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2004;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-006.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-006.html
new file mode 100644
index 0000000000..0c34ed53f8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-006.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2005 FOUR-PER-EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2005;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2005;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2005;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2005;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-007.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-007.html
new file mode 100644
index 0000000000..b4f6d2f9b4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-007.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2006 SIX-PER-EM SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2006;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2006;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2006;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2006;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-008.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-008.html
new file mode 100644
index 0000000000..77dc7194ce
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-008.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2000 EN QUAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2000;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2000;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2000;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2000;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-009.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-009.html
new file mode 100644
index 0000000000..f25a575983
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-009.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2001 EM QUAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2001;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2001;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2001;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2001;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-010.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-010.html
new file mode 100644
index 0000000000..28eb4c4100
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-010.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2008 PUNCTUATION SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2008;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2008;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2008;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2008;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-011.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-011.html
new file mode 100644
index 0000000000..3d2144c074
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-011.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2009 THIN SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2009;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2009;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2009;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2009;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-012.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-012.html
new file mode 100644
index 0000000000..a757939717
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-012.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+200A HAIR SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x200A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-014.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-014.html
new file mode 100644
index 0000000000..4f67b1ac6d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-014.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1680 OGHAM SPACE MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1680;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1680;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1680;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1680;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-015.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-015.html
new file mode 100644
index 0000000000..734d237c89
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-015.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205F MEDIUM MATHEMATICAL SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking space characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-016.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-016.html
new file mode 100644
index 0000000000..93df63bac6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-016.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+058A ARMENIAN HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x058A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x058A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x058A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x058A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-017.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-017.html
new file mode 100644
index 0000000000..3edb77e708
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-017.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2010 HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2010;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2010;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2010;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2010;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-018.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-018.html
new file mode 100644
index 0000000000..bf0f9eb2dc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-018.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2012 FIGURE DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2012;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2012;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2012;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2012;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-019.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-019.html
new file mode 100644
index 0000000000..3a80da0377
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-019.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2013 EN DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA breaking hyphen characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2013;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2013;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2013;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2013;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-020.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-020.html
new file mode 100644
index 0000000000..26e8d14abe
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-020.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+05BE HEBREW PUNCTUATION MAQAF</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x05BE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x05BE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x05BE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x05BE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-021.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-021.html
new file mode 100644
index 0000000000..42fa5c32eb
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-021.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F0B TIBETAN MARK INTERSYLLABIC TSHEG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-022.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-022.html
new file mode 100644
index 0000000000..f5f2c4a83f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-022.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1361 ETHIOPIC WORD SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1361;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1361;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1361;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1361;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-023.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-023.html
new file mode 100644
index 0000000000..051dfa9403
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-023.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17D8 KHMER SIGN BEYYAL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D8;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D8;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D8;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D8;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-024.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-024.html
new file mode 100644
index 0000000000..09221092c5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-024.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17DA KHMER SIGN KOOMUUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17DA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17DA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17DA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17DA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-025.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-025.html
new file mode 100644
index 0000000000..dd9823074c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-025.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2027 HYPHENATION POINT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2027;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2027;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2027;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2027;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-026.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-026.html
new file mode 100644
index 0000000000..8292d41a7e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-026.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+007C VERTICAL LINE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after each of the BA visible word divider characters.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x007C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x007C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x007C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x007C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-030.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-030.html
new file mode 100644
index 0000000000..d688ad383a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-030.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+16EB RUNIC SINGLE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-031.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-031.html
new file mode 100644
index 0000000000..d021f96581
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-031.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+16EC RUNIC MULTIPLE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16EC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-032.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-032.html
new file mode 100644
index 0000000000..39e7d69715
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-032.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+16ED RUNIC CROSS PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16ED;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16ED;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16ED;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x16ED;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-033.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-033.html
new file mode 100644
index 0000000000..95873aaa94
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-033.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2056 THREE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2056;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2056;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2056;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2056;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-034.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-034.html
new file mode 100644
index 0000000000..4d93ef0a71
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-034.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2058 FOUR DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2058;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2058;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2058;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2058;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-035.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-035.html
new file mode 100644
index 0000000000..34f30306fa
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-035.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2059 FIVE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2059;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2059;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2059;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2059;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-036.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-036.html
new file mode 100644
index 0000000000..e8a670e7b8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-036.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205A TWO DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-037.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-037.html
new file mode 100644
index 0000000000..3afe27f19d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-037.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205B FOUR DOT MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-038.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-038.html
new file mode 100644
index 0000000000..fc8c6fd8ef
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-038.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205D TRICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-039.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-039.html
new file mode 100644
index 0000000000..31c4d4e982
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-039.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+205E VERTICAL FOUR DOTS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x205E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-040.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-040.html
new file mode 100644
index 0000000000..4892ae556b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-040.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E19 PALM BRANCH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E19;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E19;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E19;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E19;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-041.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-041.html
new file mode 100644
index 0000000000..ac7a71cf2b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-041.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2A TWO DOTS OVER ONE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-042.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-042.html
new file mode 100644
index 0000000000..39130cecb8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-042.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2B ONE DOT OVER TWO DOTS PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-043.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-043.html
new file mode 100644
index 0000000000..8b0fcec1c3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-043.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2C SQUARED FOUR DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-044.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-044.html
new file mode 100644
index 0000000000..c538fb88b0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-044.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E2D FIVE DOT PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E2D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-045.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-045.html
new file mode 100644
index 0000000000..696ec803d2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-045.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E30 RING POINT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E30;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E30;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E30;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E30;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-046.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-046.html
new file mode 100644
index 0000000000..29bd198891
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-046.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10100 AEGEAN WORD SEPARATOR LINE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10100;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10100;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10100;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10100;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-047.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-047.html
new file mode 100644
index 0000000000..d4b675b5b3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-047.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10101 AEGEAN WORD SEPARATOR DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10101;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10101;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10101;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10101;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-048.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-048.html
new file mode 100644
index 0000000000..649a20c791
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-048.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10102 AEGEAN CHECK MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10102;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10102;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10102;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10102;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-049.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-049.html
new file mode 100644
index 0000000000..d7c54f1c44
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-049.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1039F UGARITIC WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1039F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1039F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1039F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1039F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-050.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-050.html
new file mode 100644
index 0000000000..e88e3cc9b3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-050.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+103D0 OLD PERSIAN WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x103D0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x103D0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x103D0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x103D0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-051.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-051.html
new file mode 100644
index 0000000000..95129f9051
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-051.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1091F PHOENICIAN WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1091F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1091F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1091F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1091F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-052.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-052.html
new file mode 100644
index 0000000000..458d0542a6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-052.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+12470 CUNEIFORM PUNCTUATION SIGN OLD ASSYRIAN WORD DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA historic word separator property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x12470;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x12470;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x12470;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x12470;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-060.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-060.html
new file mode 100644
index 0000000000..44fa928e84
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-060.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0964 DEVANAGARI DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0964;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0964;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0964;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0964;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-061.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-061.html
new file mode 100644
index 0000000000..ef037bb308
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-061.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0965 DEVANAGARI DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0965;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0965;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0965;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0965;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-062.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-062.html
new file mode 100644
index 0000000000..f74603693f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-062.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0E5A THAI CHARACTER ANGKHANKHU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-063.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-063.html
new file mode 100644
index 0000000000..50c26922b9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-063.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0E5B THAI CHARACTER KHOMUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0E5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-064.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-064.html
new file mode 100644
index 0000000000..04aa14f45c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-064.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+104A MYANMAR SIGN LITTLE SECTION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-065.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-065.html
new file mode 100644
index 0000000000..44349fedcd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-065.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+104B MYANMAR SIGN SECTION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x104B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-066.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-066.html
new file mode 100644
index 0000000000..42fe1a0c4a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-066.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1735 PHILIPPINE SINGLE PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1735;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1735;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1735;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1735;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-067.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-067.html
new file mode 100644
index 0000000000..bd3b06de97
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-067.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1736 PHILIPPINE DOUBLE PUNCTUATION</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1736;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1736;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1736;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1736;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-068.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-068.html
new file mode 100644
index 0000000000..66fa67e286
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-068.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17D4 KHMER SIGN KHAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D4;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D4;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D4;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D4;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-069.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-069.html
new file mode 100644
index 0000000000..869d8e1dc2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-069.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+17D5 KHMER SIGN BARIYOOSAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D5;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D5;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D5;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x17D5;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-070.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-070.html
new file mode 100644
index 0000000000..8b398da350
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-070.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5E BALINESE CARIK SIKI</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-071.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-071.html
new file mode 100644
index 0000000000..d4d44ca336
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-071.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5F BALINESE CARIK PAREREN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-072.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-072.html
new file mode 100644
index 0000000000..b6beaeb801
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-072.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A8CE SAURASHTRA DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-073.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-073.html
new file mode 100644
index 0000000000..e32b43466b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-073.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A8CF SAURASHTRA DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA8CF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-074.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-074.html
new file mode 100644
index 0000000000..57b083fc45
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-074.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+AA5D CHAM PUNCTUATION DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-075.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-075.html
new file mode 100644
index 0000000000..31e374a98d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-075.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+AA5E CHAM PUNCTUATION DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-076.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-076.html
new file mode 100644
index 0000000000..22cc6f28d6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-076.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+AA5F CHAM PUNCTUATION TRIPLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xAA5F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-077.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-077.html
new file mode 100644
index 0000000000..786f52077c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-077.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A56 KHAROSHTHI PUNCTUATION DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A56;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A56;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A56;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A56;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-078.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-078.html
new file mode 100644
index 0000000000..a123d1bfc9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-078.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A57 KHAROSHTHI PUNCTUATION DOUBLE DANDA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA danda property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A57;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A57;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A57;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A57;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-080.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-080.html
new file mode 100644
index 0000000000..ee4224a9f6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-080.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F85 TIBETAN MARK PALUTA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F85;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F85;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F85;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F85;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-081.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-081.html
new file mode 100644
index 0000000000..a23a41d1b5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-081.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F34 TIBETAN MARK BSDUS RTAGS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F34;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F34;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F34;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F34;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-082.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-082.html
new file mode 100644
index 0000000000..2e95a95f1b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-082.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F7F TIBETAN SIGN RNAM BCAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-083.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-083.html
new file mode 100644
index 0000000000..48f9151c45
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-083.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FBE TIBETAN KU RU KHA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBE;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-084.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-084.html
new file mode 100644
index 0000000000..4cc59af4ba
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-084.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FBF TIBETAN KU RU KHA BZHI MIG CAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FBF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-085.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-085.html
new file mode 100644
index 0000000000..81c59385f2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-085.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FD2 TIBETAN MARK NYIS TSHEG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-086.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-086.html
new file mode 100644
index 0000000000..81c59385f2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-086.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0FD2 TIBETAN MARK NYIS TSHEG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The UA will break a line of text after any Unicode character with the BA tibetan property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0FD2;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-090.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-090.html
new file mode 100644
index 0000000000..42ee8908a2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-090.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1804 MONGOLIAN COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1804;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1804;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1804;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1804;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-091.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-091.html
new file mode 100644
index 0000000000..cc52c80319
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-091.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1805 MONGOLIAN FOUR DOTS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1805;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1805;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1805;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1805;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-092.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-092.html
new file mode 100644
index 0000000000..1dfa041d11
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-092.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5A BALINESE PANTI</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5A;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-093.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-093.html
new file mode 100644
index 0000000000..a7c70c5599
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-093.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5B BALINESE PAMADA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-095.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-095.html
new file mode 100644
index 0000000000..e0fcf33c5d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-095.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B5D BALINESE CARIK PAMUNGKAH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B5D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-096.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-096.html
new file mode 100644
index 0000000000..b5a96dbb23
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-096.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1B60 BALINESE PAMENENG</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B60;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B60;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B60;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1B60;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-097.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-097.html
new file mode 100644
index 0000000000..cb031c6bef
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-097.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3B LEPCHA PUNCTUATION TA-ROL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3B;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-098.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-098.html
new file mode 100644
index 0000000000..44135cf1ee
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-098.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3C LEPCHA PUNCTUATION NYET THYOOM TA-ROL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-099.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-099.html
new file mode 100644
index 0000000000..53880470f0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-099.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3E LEPCHA PUNCTUATION TSHOOK CER-WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-100.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-100.html
new file mode 100644
index 0000000000..53880470f0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-100.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3E LEPCHA PUNCTUATION TSHOOK CER-WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-101.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-101.html
new file mode 100644
index 0000000000..f5f5117fb5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-101.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C3F LEPCHA PUNCTUATION TSHOOK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C3F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-102.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-102.html
new file mode 100644
index 0000000000..7481591acf
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-102.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C7E OL CHIKI PUNCTUATION MUCAAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-103.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-103.html
new file mode 100644
index 0000000000..3b9db361e5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-103.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+1C7F OL CHIKI PUNCTUATION DOUBLE MUCAAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x1C7F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-104.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-104.html
new file mode 100644
index 0000000000..ec575ebc81
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-104.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFA COPTIC OLD NUBIAN DIRECT QUESTION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFA;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-105.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-105.html
new file mode 100644
index 0000000000..af3a8887fd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-105.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFB COPTIC OLD NUBIAN INDIRECT QUESTION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFB;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-106.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-106.html
new file mode 100644
index 0000000000..e5203073e7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-106.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFC COPTIC OLD NUBIAN VERSE DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFC;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-107.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-107.html
new file mode 100644
index 0000000000..eb3f70b70d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-107.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2CFF COPTIC MORPHOLOGICAL DIVIDER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2CFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-108.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-108.html
new file mode 100644
index 0000000000..f977eaa10b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-108.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2E17 OBLIQUE DOUBLE HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E17;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E17;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E17;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2E17;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-109.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-109.html
new file mode 100644
index 0000000000..1ba489e3bd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-109.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A60D VAI COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60D;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-110.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-110.html
new file mode 100644
index 0000000000..fe5cfd0c59
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-110.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A60F VAI QUESTION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA60F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-111.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-111.html
new file mode 100644
index 0000000000..20e214b63c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-111.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A92E KAYAH LI SIGN CWI</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-112.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-112.html
new file mode 100644
index 0000000000..3e2c4af3c8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-112.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+A92F KAYAH LI SIGN SHYA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xA92F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-113.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-113.html
new file mode 100644
index 0000000000..ac308ecb92
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-113.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A50 KHAROSHTHI PUNCTUATION DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A50;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A50;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A50;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A50;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-114.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-114.html
new file mode 100644
index 0000000000..ced3533c04
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-114.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A51 KHAROSHTHI PUNCTUATION SMALL CIRCLE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A51;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A51;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A51;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A51;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-115.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-115.html
new file mode 100644
index 0000000000..95c7bee5ca
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-115.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A52 KHAROSHTHI PUNCTUATION CIRCLE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A52;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A52;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A52;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A52;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-116.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-116.html
new file mode 100644
index 0000000000..ebbfd912f2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-116.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A53 KHAROSHTHI PUNCTUATION CRESCENT BAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A53;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A53;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A53;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A53;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-117.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-117.html
new file mode 100644
index 0000000000..ee25a94c73
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-117.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A54 KHAROSHTHI PUNCTUATION MANGALAM</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A54;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A54;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A54;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A54;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-118.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-118.html
new file mode 100644
index 0000000000..6a9736cbb0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-118.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+10A55 KHAROSHTHI PUNCTUATION LOTUS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='should dom'>
+<meta name="assert" content="[Exploratory] The browser will break a line of text after any Unicode character with the BA Other Terminating Punctuation property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A55;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A55;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A55;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x10A55;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight > 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight > 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight > 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight > 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-120.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-120.html
new file mode 100644
index 0000000000..affee69bb6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-120.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+00A0 NO-BREAK SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x00A0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x00A0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x00A0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x00A0;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-121.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-121.html
new file mode 100644
index 0000000000..589e981b09
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-121.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+202F NARROW NO-BREAK SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x202F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x202F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x202F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x202F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-122.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-122.html
new file mode 100644
index 0000000000..59bbe8b435
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-122.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+180E MONGOLIAN VOWEL SEPARATOR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x180E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x180E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x180E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x180E;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-123.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-123.html
new file mode 100644
index 0000000000..bf98f93132
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-123.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+034F COMBINING GRAPHEME JOINER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x034F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x034F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x034F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x034F;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-124.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-124.html
new file mode 100644
index 0000000000..5ac0df9777
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-124.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2007 FIGURE SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2007;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2007;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2007;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2007;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-125.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-125.html
new file mode 100644
index 0000000000..d38479fdde
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-125.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2011 NON-BREAKING HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2011;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2011;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2011;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2011;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-126.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-126.html
new file mode 100644
index 0000000000..c14899d778
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-126.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F08 TIBETAN MARK SBRUL SHAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F08;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F08;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F08;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F08;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-127.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-127.html
new file mode 100644
index 0000000000..dfa0a8e33e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-127.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F0C TIBETAN MARK DELIMITER TSHEG BSTAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F0C;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-128.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-128.html
new file mode 100644
index 0000000000..b4009bd76f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-128.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+0F12 TIBETAN MARK RGYA GRAM SHAD</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the GL non-breaking property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F12;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F12;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F12;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x0F12;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-130.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-130.html
new file mode 100644
index 0000000000..b9a9e48e79
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-130.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+2060 WORD JOINER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the WJ Word Joiner property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2060;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2060;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2060;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#x2060;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-131.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-131.html
new file mode 100644
index 0000000000..93bf8d156b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-baspglwj-131.html
@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: U+FEFF ZERO WIDTH NO-BREAK SPACE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-details'>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name='flags' content='dom'>
+<meta name="assert" content="[Exploratory] The browser will NOT break a line of text containing any Unicode character with the WJ Word Joiner property.">
+<style type='text/css'>
+.test > div { font-family: monospace; font-size: 25px; width: 50ch; line-height: 30px; }
+#breakable2 { white-space: pre-line; }
+#breakable3 { white-space: pre-wrap; }
+#breakable4 { white-space: break-spaces; }
+</style>
+</head>
+<body>
+
+
+
+<div class="test">
+ <div id="breakable">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xFEFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable2">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xFEFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable3">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xFEFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+ <div id="breakable4">aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&#xFEFF;bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb</div>
+</div>
+
+
+<!--Notes:
+
+Box height: <span id='debugresult'></span><script>document.getElementById('debugresult').innerHTML = document.getElementById('breakable').offsetHeight;</script>
+
+-->
+<script>
+test(function() {
+ assert_true(document.getElementById('breakable').offsetHeight < 35);
+}, "white-space:normal");
+test(function() {
+ assert_true(document.getElementById('breakable2').offsetHeight < 35);
+}, "white-space:pre-line");
+test(function() {
+ assert_true(document.getElementById('breakable3').offsetHeight < 35);
+}, "white-space:pre-wrap");
+test(function() {
+ assert_true(document.getElementById('breakable4').offsetHeight < 35);
+}, "white-space:break-spaces");
+</script>
+
+<div id='log'></div>
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-001.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-001.html
new file mode 100644
index 0000000000..e150523327
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-001.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0028 LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-001-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 0028 LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x0028;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0028;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-002.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-002.html
new file mode 100644
index 0000000000..12e6589545
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-002.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005B LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-002-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 005B LEFT SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x005B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x005B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-003.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-003.html
new file mode 100644
index 0000000000..984c2ba6c8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-003.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007B LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-003-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 007B LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x007B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x007B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-004.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-004.html
new file mode 100644
index 0000000000..48d7b8e9a4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-004.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3A TIBETAN MARK GUG RTAGS GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-004-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 0F3A TIBETAN MARK GUG RTAGS GYON at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: CSSFW;
+ src: url('/fonts/adobe-fonts/CSSFWOrientationTest.otf');
+ }
+.test, .ref { font-size: 30px; font-family: CSSFW, sans-serif; width: 3em; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x0F3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-005.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-005.html
new file mode 100644
index 0000000000..0d79132800
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-005.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3C TIBETAN MARK ANG KHANG GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-005-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 0F3C TIBETAN MARK ANG KHANG GYON at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x0F3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-006.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-006.html
new file mode 100644
index 0000000000..185cf59c89
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-006.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169B OGHAM FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-006-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 169B OGHAM FEATHER MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x169B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x169B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-007.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-007.html
new file mode 100644
index 0000000000..c67e866bc4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-007.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201A SINGLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-007-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 201A SINGLE LOW-9 QUOTATION MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x201A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-008.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-008.html
new file mode 100644
index 0000000000..7a22a9e50f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-008.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201E DOUBLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-008-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 201E DOUBLE LOW-9 QUOTATION MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x201E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-009.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-009.html
new file mode 100644
index 0000000000..1312f5b77d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-009.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2045 LEFT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-009-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2045 LEFT SQUARE BRACKET WITH QUILL at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2045;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2045;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-010.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-010.html
new file mode 100644
index 0000000000..c914a24499
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-010.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207D SUPERSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-010-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 207D SUPERSCRIPT LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x207D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x207D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-011.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-011.html
new file mode 100644
index 0000000000..acdef96554
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-011.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208D SUBSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-011-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 208D SUBSCRIPT LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x208D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x208D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-012.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-012.html
new file mode 100644
index 0000000000..68e77aaa66
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-012.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2329 LEFT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-012-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2329 LEFT-POINTING ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2329;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2329;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-014.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-014.html
new file mode 100644
index 0000000000..6fdaee9739
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-014.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2768 MEDIUM LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-014-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2768 MEDIUM LEFT PARENTHESIS ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2768;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2768;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-015.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-015.html
new file mode 100644
index 0000000000..7f6858f53d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-015.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-015-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x276A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-016.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-016.html
new file mode 100644
index 0000000000..9b3717483e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-016.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-016-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x276C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-017.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-017.html
new file mode 100644
index 0000000000..32e4925ac7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-017.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-017-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x276E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-018.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-018.html
new file mode 100644
index 0000000000..6d8556cd3c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-018.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-018-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2770;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2770;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-019.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-019.html
new file mode 100644
index 0000000000..977efda0a3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-019.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-019-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2772;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2772;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-020.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-020.html
new file mode 100644
index 0000000000..9006b8dda6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-020.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2774 MEDIUM LEFT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-020-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2774 MEDIUM LEFT CURLY BRACKET ORNAMENT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2774;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2774;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-021.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-021.html
new file mode 100644
index 0000000000..ac2c7ff09c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-021.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-021-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x27E6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E6;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-022.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-022.html
new file mode 100644
index 0000000000..7bfaeeb629
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-022.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E8 MATHEMATICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-022-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 27E8 MATHEMATICAL LEFT ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x27E8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E8;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-023.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-023.html
new file mode 100644
index 0000000000..3e36d8ab06
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-023.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-023-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x27EA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27EA;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-024.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-024.html
new file mode 100644
index 0000000000..d7b5ee4771
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-024.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2983 LEFT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-024-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2983 LEFT WHITE CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2983;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2983;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-025.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-025.html
new file mode 100644
index 0000000000..fe049b3d8d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-025.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2985 LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-025-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2985 LEFT WHITE PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2985;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2985;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-026.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-026.html
new file mode 100644
index 0000000000..9fa262ec82
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-026.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2987 Z NOTATION LEFT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-026-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2987 Z NOTATION LEFT IMAGE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2987;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2987;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-027.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-027.html
new file mode 100644
index 0000000000..0cba8cc740
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-027.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2989 Z NOTATION LEFT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-027-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2989 Z NOTATION LEFT BINDING BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2989;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2989;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-028.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-028.html
new file mode 100644
index 0000000000..05d34171c2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-028.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298B LEFT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-028-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 298B LEFT SQUARE BRACKET WITH UNDERBAR at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x298B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-029.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-029.html
new file mode 100644
index 0000000000..6d79c20b47
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-029.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-029-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x298D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-030.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-030.html
new file mode 100644
index 0000000000..1494c06909
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-030.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-030-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x298F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-031.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-031.html
new file mode 100644
index 0000000000..62807dd3e2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-031.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2991 LEFT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-031-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2991 LEFT ANGLE BRACKET WITH DOT at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2991;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2991;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-032.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-032.html
new file mode 100644
index 0000000000..a40de11be4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-032.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2993 LEFT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-032-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2993 LEFT ARC LESS-THAN BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2993;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2993;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-033.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-033.html
new file mode 100644
index 0000000000..aefca35e65
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-033.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2995 DOUBLE LEFT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-033-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2995 DOUBLE LEFT ARC GREATER-THAN BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2995;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2995;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-034.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-034.html
new file mode 100644
index 0000000000..ba4918304e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-034.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2997 LEFT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-034-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 2997 LEFT BLACK TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x2997;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2997;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-035.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-035.html
new file mode 100644
index 0000000000..ea8303462f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-035.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D8 LEFT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-035-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 29D8 LEFT WIGGLY FENCE at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x29D8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29D8;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-036.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-036.html
new file mode 100644
index 0000000000..71d8e14666
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-036.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DA LEFT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-036-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 29DA LEFT DOUBLE WIGGLY FENCE at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x29DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29DA;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-037.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-037.html
new file mode 100644
index 0000000000..d14fe3572c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-037.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FC LEFT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-037-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 29FC LEFT-POINTING CURVED ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x29FC;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29FC;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-038.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-038.html
new file mode 100644
index 0000000000..28202c9329
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-038.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3008 LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-038-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3008 LEFT ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3008;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3008;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-039.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-039.html
new file mode 100644
index 0000000000..724fd85fb8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-039.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300A LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-039-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 300A LEFT DOUBLE ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x300A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-040.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-040.html
new file mode 100644
index 0000000000..1f626eb1ae
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-040.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300C LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-040-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 300C LEFT CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x300C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-041.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-041.html
new file mode 100644
index 0000000000..2b8e5cc6d2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-041.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300E LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-041-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 300E LEFT WHITE CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x300E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-042.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-042.html
new file mode 100644
index 0000000000..4d2d5fef8c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-042.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3010 LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-042-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3010 LEFT BLACK LENTICULAR BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3010;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3010;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-043.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-043.html
new file mode 100644
index 0000000000..59622cda07
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-043.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3014 LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-043-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3014 LEFT TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3014;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3014;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-044.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-044.html
new file mode 100644
index 0000000000..37675c1ec7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-044.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3016 LEFT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-044-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3016 LEFT WHITE LENTICULAR BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3016;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3016;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-045.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-045.html
new file mode 100644
index 0000000000..94a568224d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-045.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3018 LEFT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-045-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 3018 LEFT WHITE TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x3018;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3018;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-046.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-046.html
new file mode 100644
index 0000000000..9710c36831
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-046.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301A LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-046-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 301A LEFT WHITE SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x301A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-047.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-047.html
new file mode 100644
index 0000000000..c112ac8766
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-047.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301D REVERSED DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-047-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave 301D REVERSED DOUBLE PRIME QUOTATION MARK at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#x301D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-049.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-049.html
new file mode 100644
index 0000000000..2e3e088c9a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-049.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-049-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE35;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE35;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-050.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-050.html
new file mode 100644
index 0000000000..f85f3deb19
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-050.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-050-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE37;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE37;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-051.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-051.html
new file mode 100644
index 0000000000..55f558e0b1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-051.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-051-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE39;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE39;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-052.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-052.html
new file mode 100644
index 0000000000..a8e094d6f7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-052.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-052-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-053.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-053.html
new file mode 100644
index 0000000000..33df08dd39
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-053.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-053-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-054.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-054.html
new file mode 100644
index 0000000000..02e8c797f1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-054.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-054-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE3F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-055.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-055.html
new file mode 100644
index 0000000000..d0aeaa609e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-055.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-055-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE41;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE41;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-056.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-056.html
new file mode 100644
index 0000000000..4c4be0f221
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-056.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-056-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE43;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE43;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-057.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-057.html
new file mode 100644
index 0000000000..e97b355b69
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-057.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-057-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE47;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE47;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-058.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-058.html
new file mode 100644
index 0000000000..6fa1bd617d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-058.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE59 SMALL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-058-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE59 SMALL LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE59;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE59;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-059.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-059.html
new file mode 100644
index 0000000000..190de2cd75
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-059.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5B SMALL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-059-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE5B SMALL LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-060.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-060.html
new file mode 100644
index 0000000000..48c7a771a7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-060.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5D SMALL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-060-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FE5D SMALL LEFT TORTOISE SHELL BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFE5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-061.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-061.html
new file mode 100644
index 0000000000..4b7cfdeb61
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-061.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF08 FULLWIDTH LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-061-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF08 FULLWIDTH LEFT PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF08;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF08;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-062.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-062.html
new file mode 100644
index 0000000000..08818309e4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-062.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3B FULLWIDTH LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-062-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF3B FULLWIDTH LEFT SQUARE BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF3B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-063.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-063.html
new file mode 100644
index 0000000000..cde3bcd06e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-063.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5B FULLWIDTH LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-063-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF5B FULLWIDTH LEFT CURLY BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-064.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-064.html
new file mode 100644
index 0000000000..b9416640d1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-064.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5F FULLWIDTH LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-064-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF5F FULLWIDTH LEFT WHITE PARENTHESIS at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF5F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-065.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-065.html
new file mode 100644
index 0000000000..2856ae5727
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-065.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF62 HALFWIDTH LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-065-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has OP Opening Punctuation property, the browser will not leave FF62 HALFWIDTH LEFT CORNER BRACKET at the end of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中&#xFF62;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF62;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-100.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-100.html
new file mode 100644
index 0000000000..75216619a9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-100.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3001 IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-100-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3001 IDEOGRAPHIC COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3001;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3001;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-101.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-101.html
new file mode 100644
index 0000000000..def939a906
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-101.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3002 IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-101-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3002 IDEOGRAPHIC FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3002;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3002;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-102.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-102.html
new file mode 100644
index 0000000000..bc437fc93f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-102.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE50 SMALL COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-102-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE50 SMALL COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE50;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE50;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-103.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-103.html
new file mode 100644
index 0000000000..a8b9140479
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-103.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE52 SMALL FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-103-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE52 SMALL FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE52;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE52;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-104.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-104.html
new file mode 100644
index 0000000000..0700d7b98b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-104.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0C FULLWIDTH COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-104-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF0C FULLWIDTH COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF0C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-105.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-105.html
new file mode 100644
index 0000000000..9d3a28f1b0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-105.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0E FULLWIDTH FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-105-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF0E FULLWIDTH FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF0E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-106.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-106.html
new file mode 100644
index 0000000000..eebf109531
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-106.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF61 HALFWIDTH IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-106-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF61 HALFWIDTH IDEOGRAPHIC FULL STOP at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF61;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF61;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-107.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-107.html
new file mode 100644
index 0000000000..cbf46fc6ab
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-107.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF64 HALFWIDTH IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-107-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF64 HALFWIDTH IDEOGRAPHIC COMMA at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF64;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF64;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-108.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-108.html
new file mode 100644
index 0000000000..6711fa8295
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-108.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0029 RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-108-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 0029 RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0029;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0029;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-109.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-109.html
new file mode 100644
index 0000000000..302ce10aeb
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-109.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005D RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-109-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 005D RIGHT SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x005D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x005D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-110.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-110.html
new file mode 100644
index 0000000000..14fc9f2571
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-110.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007D RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-110-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 007D RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x007D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x007D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-111.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-111.html
new file mode 100644
index 0000000000..e369d5d50c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-111.html
@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3B TIBETAN MARK GUG RTAGS GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-111-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 0F3B TIBETAN MARK GUG RTAGS GYAS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: CSSFW;
+ src: url('/fonts/adobe-fonts/CSSFWOrientationTest.otf');
+ }
+.test, .ref { font-size: 30px; font-family: CSSFW, sans-serif; width: 3em; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0F3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-112.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-112.html
new file mode 100644
index 0000000000..4bff413372
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-112.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3D TIBETAN MARK ANG KHANG GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-112-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 0F3D TIBETAN MARK ANG KHANG GYAS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0F3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-113.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-113.html
new file mode 100644
index 0000000000..d9cda3ab80
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-113.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169C OGHAM REVERSED FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-113-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 169C OGHAM REVERSED FEATHER MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x169C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x169C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-114.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-114.html
new file mode 100644
index 0000000000..daf95af40b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-114.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2046 RIGHT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-114-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2046 RIGHT SQUARE BRACKET WITH QUILL at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2046;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2046;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-115.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-115.html
new file mode 100644
index 0000000000..76a0d1f390
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-115.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207E SUPERSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-115-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 207E SUPERSCRIPT RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x207E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x207E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-116.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-116.html
new file mode 100644
index 0000000000..904aeb3706
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-116.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208E SUBSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-116-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 208E SUBSCRIPT RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x208E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x208E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-117.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-117.html
new file mode 100644
index 0000000000..f9958c9a4a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-117.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 232A RIGHT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-117-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 232A RIGHT-POINTING ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x232A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x232A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-119.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-119.html
new file mode 100644
index 0000000000..36a3f1dfcc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-119.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2769 MEDIUM RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-119-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2769 MEDIUM RIGHT PARENTHESIS ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2769;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2769;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-120.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-120.html
new file mode 100644
index 0000000000..741452d30f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-120.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-120-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x276B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-121.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-121.html
new file mode 100644
index 0000000000..121dcd7457
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-121.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-121-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x276D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-122.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-122.html
new file mode 100644
index 0000000000..c1bc044dae
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-122.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-122-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x276F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-123.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-123.html
new file mode 100644
index 0000000000..beb12b06fc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-123.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-123-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2771;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2771;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-124.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-124.html
new file mode 100644
index 0000000000..d596efa2b8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-124.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-124-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2773;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2773;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-125.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-125.html
new file mode 100644
index 0000000000..db73766b2c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-125.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-125-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2775;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2775;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-126.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-126.html
new file mode 100644
index 0000000000..aed75f9bd6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-126.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-126-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x27E7;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E7;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-127.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-127.html
new file mode 100644
index 0000000000..945a1976b1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-127.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E9 MATHEMATICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-127-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 27E9 MATHEMATICAL RIGHT ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x27E9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E9;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-128.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-128.html
new file mode 100644
index 0000000000..b15858df13
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-128.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-128-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x27EB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27EB;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-129.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-129.html
new file mode 100644
index 0000000000..2add59f6b7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-129.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2984 RIGHT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-129-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2984 RIGHT WHITE CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2984;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2984;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-130.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-130.html
new file mode 100644
index 0000000000..63fde2f34a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-130.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2986 RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-130-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2986 RIGHT WHITE PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2986;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2986;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-131.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-131.html
new file mode 100644
index 0000000000..bf58dce9be
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-131.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2988 Z NOTATION RIGHT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-131-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2988 Z NOTATION RIGHT IMAGE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2988;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2988;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-132.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-132.html
new file mode 100644
index 0000000000..8392f21fab
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-132.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298A Z NOTATION RIGHT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-132-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 298A Z NOTATION RIGHT BINDING BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x298A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-133.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-133.html
new file mode 100644
index 0000000000..aad6470e23
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-133.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298C RIGHT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-133-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 298C RIGHT SQUARE BRACKET WITH UNDERBAR at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x298C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-134.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-134.html
new file mode 100644
index 0000000000..50830b12ef
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-134.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-134-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x298E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-135.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-135.html
new file mode 100644
index 0000000000..62fee7708e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-135.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-135-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2990;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2990;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-136.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-136.html
new file mode 100644
index 0000000000..b09f104bab
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-136.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2992 RIGHT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-136-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2992 RIGHT ANGLE BRACKET WITH DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2992;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2992;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-137.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-137.html
new file mode 100644
index 0000000000..912d8d6214
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-137.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2994 RIGHT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-137-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2994 RIGHT ARC GREATER-THAN BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2994;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2994;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-138.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-138.html
new file mode 100644
index 0000000000..5138aeb325
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-138.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2996 DOUBLE RIGHT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-138-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2996 DOUBLE RIGHT ARC LESS-THAN BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2996;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2996;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-139.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-139.html
new file mode 100644
index 0000000000..473ea17678
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-139.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2998 RIGHT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-139-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 2998 RIGHT BLACK TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x2998;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2998;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-140.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-140.html
new file mode 100644
index 0000000000..fe0060adab
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-140.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D9 RIGHT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-140-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 29D9 RIGHT WIGGLY FENCE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x29D9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29D9;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-141.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-141.html
new file mode 100644
index 0000000000..073ea05ee0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-141.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DB RIGHT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-141-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 29DB RIGHT DOUBLE WIGGLY FENCE at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x29DB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29DB;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-142.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-142.html
new file mode 100644
index 0000000000..994a4a88e7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-142.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FD RIGHT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-142-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 29FD RIGHT-POINTING CURVED ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x29FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29FD;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-143.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-143.html
new file mode 100644
index 0000000000..a61cc5647f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-143.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3009 RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-143-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3009 RIGHT ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3009;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3009;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-144.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-144.html
new file mode 100644
index 0000000000..5905185924
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-144.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300B RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-144-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 300B RIGHT DOUBLE ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x300B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-145.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-145.html
new file mode 100644
index 0000000000..7c6cddb1eb
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-145.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300D RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-145-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 300D RIGHT CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x300D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-146.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-146.html
new file mode 100644
index 0000000000..37fd024865
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-146.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300F RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-146-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 300F RIGHT WHITE CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x300F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-147.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-147.html
new file mode 100644
index 0000000000..678d1b9af3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-147.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3011 RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-147-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3011 RIGHT BLACK LENTICULAR BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3011;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3011;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-148.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-148.html
new file mode 100644
index 0000000000..e9945f0b98
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-148.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3015 RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-148-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3015 RIGHT TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3015;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3015;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-149.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-149.html
new file mode 100644
index 0000000000..11907a406f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-149.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3017 RIGHT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-149-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3017 RIGHT WHITE LENTICULAR BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3017;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3017;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-150.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-150.html
new file mode 100644
index 0000000000..2653652d0d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-150.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3019 RIGHT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-150-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 3019 RIGHT WHITE TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3019;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3019;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-151.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-151.html
new file mode 100644
index 0000000000..af7656910c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-151.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301B RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-151-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 301B RIGHT WHITE SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-152.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-152.html
new file mode 100644
index 0000000000..8090119899
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-152.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301E DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-152-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 301E DOUBLE PRIME QUOTATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-153.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-153.html
new file mode 100644
index 0000000000..31ca266ba9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-153.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301F LOW DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-153-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave 301F LOW DOUBLE PRIME QUOTATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-155.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-155.html
new file mode 100644
index 0000000000..ecdf8c1487
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-155.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-155-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE36;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE36;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-156.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-156.html
new file mode 100644
index 0000000000..52982127a1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-156.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-156-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE38;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE38;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-157.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-157.html
new file mode 100644
index 0000000000..08297c9388
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-157.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-157-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-158.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-158.html
new file mode 100644
index 0000000000..7a155bb952
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-158.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-158-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-159.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-159.html
new file mode 100644
index 0000000000..ada16da9f5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-159.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-159-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE3E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-160.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-160.html
new file mode 100644
index 0000000000..65a8260450
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-160.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-160-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE40;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE40;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-161.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-161.html
new file mode 100644
index 0000000000..847202a71e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-161.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-161-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE42;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE42;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-162.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-162.html
new file mode 100644
index 0000000000..73daa10ed9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-162.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-162-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE44;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE44;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-163.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-163.html
new file mode 100644
index 0000000000..62073afabe
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-163.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-163-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE48;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE48;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-164.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-164.html
new file mode 100644
index 0000000000..e23308ccc3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-164.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5A SMALL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-164-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE5A SMALL RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-165.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-165.html
new file mode 100644
index 0000000000..3f467d1197
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-165.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5C SMALL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-165-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE5C SMALL RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE5C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-166.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-166.html
new file mode 100644
index 0000000000..8f9b4192cc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-166.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5E SMALL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-166-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FE5E SMALL RIGHT TORTOISE SHELL BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE5E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-167.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-167.html
new file mode 100644
index 0000000000..80f96fa31b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-167.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF09 FULLWIDTH RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-167-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF09 FULLWIDTH RIGHT PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF09;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF09;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-168.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-168.html
new file mode 100644
index 0000000000..23477b04ef
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-168.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3D FULLWIDTH RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-168-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF3D FULLWIDTH RIGHT SQUARE BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF3D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-169.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-169.html
new file mode 100644
index 0000000000..1a619b1d93
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-169.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5D FULLWIDTH RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-169-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF5D FULLWIDTH RIGHT CURLY BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF5D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-170.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-170.html
new file mode 100644
index 0000000000..bd3ce8eb8e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-170.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF60 FULLWIDTH RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-170-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF60 FULLWIDTH RIGHT WHITE PARENTHESIS at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF60;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF60;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-171.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-171.html
new file mode 100644
index 0000000000..382736c9d0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-171.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF63 HALFWIDTH RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-171-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has a CL Closing Punctuation property, the browser will not leave FF63 HALFWIDTH RIGHT CORNER BRACKET at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF63;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF63;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-200.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-200.html
new file mode 100644
index 0000000000..298ee68023
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-200.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5A THAI CHARACTER ANGKHANKHU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-200-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 0E5A THAI CHARACTER ANGKHANKHU at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0E5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-201.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-201.html
new file mode 100644
index 0000000000..6c95bb1308
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-201.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5B THAI CHARACTER KHOMUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-201-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 0E5B THAI CHARACTER KHOMUT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x0E5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-202.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-202.html
new file mode 100644
index 0000000000..4d288b1f53
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-202.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D4 KHMER SIGN KHAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-202-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 17D4 KHMER SIGN KHAN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x17D4;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D4;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-203.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-203.html
new file mode 100644
index 0000000000..2ad9d56577
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-203.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D6 KHMER SIGN CAMNUC PII KUUH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-203-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 17D6 KHMER SIGN CAMNUC PII KUUH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x17D6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D6;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-204.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-204.html
new file mode 100644
index 0000000000..69416d3f5e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-204.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17DA KHMER SIGN KOOMUUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-204-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 17DA KHMER SIGN KOOMUUT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x17DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17DA;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-205.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-205.html
new file mode 100644
index 0000000000..2f3297ed10
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-205.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-205-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 203C DOUBLE EXCLAMATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x203C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-206.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-206.html
new file mode 100644
index 0000000000..d584f0a187
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-206.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-206-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 3005 IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3005;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-207.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-207.html
new file mode 100644
index 0000000000..2a3d8ee06a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-207.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-207-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 301C WAVE DASH at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-208.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-208.html
new file mode 100644
index 0000000000..a7f0ff0fa7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-208.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303C MASU MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-208-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 303C MASU MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x303C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-209.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-209.html
new file mode 100644
index 0000000000..044a435241
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-209.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-209-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 303B VERTICAL IDEOGRAPHIC ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-210.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-210.html
new file mode 100644
index 0000000000..076a06823e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-210.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309B KATAKANA-HIRAGANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-210-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309B KATAKANA-HIRAGANA VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-211.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-211.html
new file mode 100644
index 0000000000..254211af40
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-211.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-211-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309C;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-212.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-212.html
new file mode 100644
index 0000000000..1ce5478116
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-212.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-212-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309D HIRAGANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309D;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-213.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-213.html
new file mode 100644
index 0000000000..c8464baf0c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-213.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-213-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 309E HIRAGANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x309E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-214.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-214.html
new file mode 100644
index 0000000000..20db61d453
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-214.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-214-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30A0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30A0;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-215.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-215.html
new file mode 100644
index 0000000000..8a603a570e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-215.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-215-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FB KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FB;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-217.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-217.html
new file mode 100644
index 0000000000..f975564d93
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-217.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-217-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FD KATAKANA ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FD;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-218.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-218.html
new file mode 100644
index 0000000000..e7c4c0a366
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-218.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-218-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave 30FE KATAKANA VOICED ITERATION MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#x30FE;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FE;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-219.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-219.html
new file mode 100644
index 0000000000..77b82ab0cc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-219.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE54 SMALL SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-219-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FE54 SMALL SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE54;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE54;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-220.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-220.html
new file mode 100644
index 0000000000..5bd4f80333
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-220.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE55 SMALL COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-220-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FE55 SMALL COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFE55;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE55;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-221.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-221.html
new file mode 100644
index 0000000000..7919aa72e4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-221.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-221-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF1A FULLWIDTH COLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1A;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-222.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-222.html
new file mode 100644
index 0000000000..0fd1093a61
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-222.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-222-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF1B FULLWIDTH SEMICOLON at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1B;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-223.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-223.html
new file mode 100644
index 0000000000..ae076ca440
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-223.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-223-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF65 HALFWIDTH KATAKANA MIDDLE DOT at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF65;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF65;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-225.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-225.html
new file mode 100644
index 0000000000..3e3061976a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-225.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9E HALFWIDTH KATAKANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-225-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF9E HALFWIDTH KATAKANA VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF9E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9E;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-226.html b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-226.html
new file mode 100644
index 0000000000..fef8bd58dc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/css3-text-line-break-opclns-226.html
@@ -0,0 +1,43 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-breaking'>
+<link rel="match" href="reference/css3-text-line-break-opclns-226-ref.html">
+<meta name='flags' content='should '>
+<meta name="assert" content="Because it has an NS Non-Starter property, the browser will not leave FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK at the beginning of a line.">
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='test'>中中中&#xFF9F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9F;文</div>
+
+
+<!--Notes:
+
+These tests examine the default behavior of characters against the expectations in the Unicode Standard Annex, version 5.1.0. The two-letter abbreviations are conventions for property names in the Unicode Standard. Non-tailorable characters have normative behavior in the Unicode Standard that applies in all normal circumstances.
+<p class='notes'>For more information about expected line break behavior and line break classes, see <a href='http://www.unicode.org/reports/tr14/'>Unicode Standard Annex #14 Line Breaking Properties</a>.
+
+
+-->
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
new file mode 100644
index 0000000000..164ac27315
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-loose.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:loose, Conditional Japanese Starter (CJ) (ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
new file mode 100644
index 0000000000..b6fc49e12d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-normal.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:normal, Conditional Japanese Starter (CJ) (ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
new file mode 100644
index 0000000000..ebf511b354
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cj-strict.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>line-break:strict, Conditional Japanese Starter (CJ) (ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="With line-break:strict, a browser will NOT allow a conditional Japanese starter at the beginning of a line.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
new file mode 100644
index 0000000000..8957387121
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (loose,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:loose, a browser allows a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
new file mode 100644
index 0000000000..ccb5f951c2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (normal,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:normal, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
new file mode 100644
index 0000000000..7f9fdb8c47
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-cpm-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (strict,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:strict, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
new file mode 100644
index 0000000000..771635bf67
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-loose.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (loose,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:loose, a browser allows a break before a hyphen-like CJK characters.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
new file mode 100644
index 0000000000..eba18437e6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-normal.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (normal,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:normal, a browser allows a break before a hyphen-like CJK characters.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
new file mode 100644
index 0000000000..c7e2d2aaff
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-hyphens-strict.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (strict,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:strict, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
new file mode 100644
index 0000000000..c45691a976
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-loose.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (loose,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:loose, a browser allows a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
new file mode 100644
index 0000000000..a92d53aa60
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-normal.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (normal,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:normal, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
new file mode 100644
index 0000000000..ccbf08e5bc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-in-strict.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (strict,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:strict, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
new file mode 100644
index 0000000000..9d9e241e01
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-loose.html
@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (loose,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:loose, a browser allows a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
new file mode 100644
index 0000000000..1b88d220d7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-normal.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (normal,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:normal, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
new file mode 100644
index 0000000000..f14d140d9c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-iteration-strict.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (strict,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:strict, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
new file mode 100644
index 0000000000..111c799a3c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (loose,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:loose, a browser allows a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
new file mode 100644
index 0000000000..21c27195ae
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (normal,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:normal, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
new file mode 100644
index 0000000000..bed89ef338
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-po-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (strict,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:strict, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-loose.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-loose.html
new file mode 100644
index 0000000000..cb600dfcd8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-loose.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (loose,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:loose, a browser allows a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if ja and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-normal.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-normal.html
new file mode 100644
index 0000000000..130889de6a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-normal.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (normal,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:normal, a browser will NOT allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-strict.html b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-strict.html
new file mode 100644
index 0000000000..6b83bda113
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/ja/css-text-line-break-ja-pr-strict.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (strict,ja)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Japanese, and line-break:strict, a browser will NOT allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="ja">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="ja">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if ja and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-loose.html
new file mode 100644
index 0000000000..0a76b9338c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-loose.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:loose, Conditional Japanese Starter (CJ) (de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line; the langauge not being Chinese or Japanese makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-normal.html
new file mode 100644
index 0000000000..a5339b4a2b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-normal.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:normal, Conditional Japanese Starter (CJ) (de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line; the langauge not being Chinese or Japanese makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-strict.html
new file mode 100644
index 0000000000..ebfbed7025
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cj-strict.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>line-break:strict, Conditional Japanese Starter (CJ) (de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="With line-break:strict, a browser will NOT allow a conditional Japanese starter at the beginning of a line; the langauge not being Chinese or Japanese makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-loose.html
new file mode 100644
index 0000000000..7937664b90
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (loose,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:loose, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-normal.html
new file mode 100644
index 0000000000..0818c4364d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (normal,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:normal, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-strict.html
new file mode 100644
index 0000000000..97d2cc6d64
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-cpm-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (strict,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:strict, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-loose.html
new file mode 100644
index 0000000000..611c0617e9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-loose.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (loose,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:loose, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-normal.html
new file mode 100644
index 0000000000..f8ca72337e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-normal.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (normal,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:normal, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-strict.html
new file mode 100644
index 0000000000..4cab0c4914
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-hyphens-strict.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (strict,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:strict, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose.html
new file mode 100644
index 0000000000..e1ea5c5414
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-loose.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (loose,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:loose, a browser allows a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-normal.html
new file mode 100644
index 0000000000..42307521ff
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-normal.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (normal,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:normal, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-strict.html
new file mode 100644
index 0000000000..9e9ff0c1b6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-in-strict.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (strict,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:strict, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-loose.html
new file mode 100644
index 0000000000..065820f2c3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-loose.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (loose,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:loose, a browser allows a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-normal.html
new file mode 100644
index 0000000000..3124d5cd96
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-normal.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (normal,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:normal, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-strict.html
new file mode 100644
index 0000000000..774da5dcfe
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-iteration-strict.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (strict,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:strict, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-loose.html
new file mode 100644
index 0000000000..e133b0679e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (loose,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:loose, a browser wll NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-normal.html
new file mode 100644
index 0000000000..8e3efaa364
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (normal,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:normal, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-strict.html
new file mode 100644
index 0000000000..00cc1e41a2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-po-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (strict,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:strict, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-loose.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-loose.html
new file mode 100644
index 0000000000..5958365941
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-loose.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (loose,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:loose, a browser wll allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test (ID ÷ PR × ID)
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-normal.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-normal.html
new file mode 100644
index 0000000000..28cbaf25fc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-normal.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (normal,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:normal, a browser will allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test (ID ÷ PR × ID)
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-strict.html b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-strict.html
new file mode 100644
index 0000000000..4a96c8f178
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/other-lang/css-text-line-break-de-pr-strict.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (strict,de)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is neither Japanese nor Chinese, and line-break:strict, a browser will allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test (ID ÷ PR × ID)
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="de">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="de">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if de and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-001-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-001-ref.html
new file mode 100644
index 0000000000..46dd56f7c3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-001-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0028 LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x0028;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0028;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-002-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-002-ref.html
new file mode 100644
index 0000000000..50f130c46e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-002-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005B LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x005B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x005B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-003-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-003-ref.html
new file mode 100644
index 0000000000..8e6812d73c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-003-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007B LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x007B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x007B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-004-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-004-ref.html
new file mode 100644
index 0000000000..1b11bfecd1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-004-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3A TIBETAN MARK GUG RTAGS GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: CSSFW;
+ src: url('/fonts/adobe-fonts/CSSFWOrientationTest.otf');
+ }
+.test, .ref { font-size: 30px; font-family: CSSFW, sans-serif; width: 3em; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x0F3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-005-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-005-ref.html
new file mode 100644
index 0000000000..3d0c34c427
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-005-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3C TIBETAN MARK ANG KHANG GYON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x0F3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x0F3C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-006-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-006-ref.html
new file mode 100644
index 0000000000..d9f0cabf17
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-006-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169B OGHAM FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x169B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x169B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-007-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-007-ref.html
new file mode 100644
index 0000000000..c5c359184e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-007-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201A SINGLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x201A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-008-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-008-ref.html
new file mode 100644
index 0000000000..c58fe3cf38
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-008-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 201E DOUBLE LOW-9 QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x201E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x201E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-009-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-009-ref.html
new file mode 100644
index 0000000000..f450477d1b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-009-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2045 LEFT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2045;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2045;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-010-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-010-ref.html
new file mode 100644
index 0000000000..58ac7d6623
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-010-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207D SUPERSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x207D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x207D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-011-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-011-ref.html
new file mode 100644
index 0000000000..d141e42b13
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-011-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208D SUBSCRIPT LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x208D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x208D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-012-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-012-ref.html
new file mode 100644
index 0000000000..3edfed72a6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-012-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2329 LEFT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2329;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2329;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-014-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-014-ref.html
new file mode 100644
index 0000000000..811b3bd676
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-014-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2768 MEDIUM LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2768;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2768;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-015-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-015-ref.html
new file mode 100644
index 0000000000..bd04d24aac
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-015-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276A MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x276A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-016-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-016-ref.html
new file mode 100644
index 0000000000..a02b4d3f81
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-016-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276C MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x276C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-017-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-017-ref.html
new file mode 100644
index 0000000000..5e212b8cfc
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-017-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276E HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x276E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x276E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-018-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-018-ref.html
new file mode 100644
index 0000000000..23c8a778ca
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-018-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2770;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2770;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-019-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-019-ref.html
new file mode 100644
index 0000000000..a1bb514bd9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-019-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2772;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2772;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-020-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-020-ref.html
new file mode 100644
index 0000000000..2fbd0f241e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-020-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2774 MEDIUM LEFT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2774;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2774;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-021-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-021-ref.html
new file mode 100644
index 0000000000..577d6d1f31
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-021-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E6 MATHEMATICAL LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x27E6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E6;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-022-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-022-ref.html
new file mode 100644
index 0000000000..07fcb21669
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-022-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E8 MATHEMATICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x27E8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27E8;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-023-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-023-ref.html
new file mode 100644
index 0000000000..026eb97c54
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-023-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EA MATHEMATICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x27EA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x27EA;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-024-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-024-ref.html
new file mode 100644
index 0000000000..bd86c06dae
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-024-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2983 LEFT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2983;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2983;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-025-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-025-ref.html
new file mode 100644
index 0000000000..31b12b3362
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-025-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2985 LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2985;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2985;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-026-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-026-ref.html
new file mode 100644
index 0000000000..97efc72bc4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-026-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2987 Z NOTATION LEFT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2987;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2987;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-027-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-027-ref.html
new file mode 100644
index 0000000000..3457afccce
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-027-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2989 Z NOTATION LEFT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2989;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2989;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-028-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-028-ref.html
new file mode 100644
index 0000000000..54e659c9d4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-028-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298B LEFT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x298B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-029-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-029-ref.html
new file mode 100644
index 0000000000..137ad2fc12
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-029-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298D LEFT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x298D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-030-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-030-ref.html
new file mode 100644
index 0000000000..7fd6787c99
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-030-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298F LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x298F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x298F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-031-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-031-ref.html
new file mode 100644
index 0000000000..417b95a746
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-031-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2991 LEFT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2991;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2991;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-032-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-032-ref.html
new file mode 100644
index 0000000000..ad318130ba
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-032-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2993 LEFT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2993;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2993;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-033-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-033-ref.html
new file mode 100644
index 0000000000..63fc7e2493
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-033-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2995 DOUBLE LEFT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2995;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2995;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-034-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-034-ref.html
new file mode 100644
index 0000000000..2cbe4876f9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-034-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2997 LEFT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x2997;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x2997;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-035-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-035-ref.html
new file mode 100644
index 0000000000..79ab3def8e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-035-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D8 LEFT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x29D8;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29D8;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-036-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-036-ref.html
new file mode 100644
index 0000000000..8414d96527
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-036-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DA LEFT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x29DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29DA;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-037-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-037-ref.html
new file mode 100644
index 0000000000..411532946c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-037-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FC LEFT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x29FC;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x29FC;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-038-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-038-ref.html
new file mode 100644
index 0000000000..e2eb5ea4da
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-038-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3008 LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3008;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3008;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-039-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-039-ref.html
new file mode 100644
index 0000000000..ba7412129c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-039-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300A LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x300A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-040-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-040-ref.html
new file mode 100644
index 0000000000..8d33502c95
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-040-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300C LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x300C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-041-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-041-ref.html
new file mode 100644
index 0000000000..e86bbc9577
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-041-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300E LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x300E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x300E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-042-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-042-ref.html
new file mode 100644
index 0000000000..19309592bb
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-042-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3010 LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3010;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3010;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-043-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-043-ref.html
new file mode 100644
index 0000000000..9ca205b1f1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-043-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3014 LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3014;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3014;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-044-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-044-ref.html
new file mode 100644
index 0000000000..4ccef8a2f6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-044-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3016 LEFT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3016;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3016;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-045-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-045-ref.html
new file mode 100644
index 0000000000..63eceeac63
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-045-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3018 LEFT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x3018;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x3018;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-046-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-046-ref.html
new file mode 100644
index 0000000000..3674a1f3e3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-046-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301A LEFT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x301A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-047-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-047-ref.html
new file mode 100644
index 0000000000..5f5f78eb1d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-047-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301D REVERSED DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#x301D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#x301D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-049-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-049-ref.html
new file mode 100644
index 0000000000..654edf9abf
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-049-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE35 PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE35;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE35;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-050-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-050-ref.html
new file mode 100644
index 0000000000..8e3941da48
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-050-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE37 PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE37;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE37;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-051-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-051-ref.html
new file mode 100644
index 0000000000..dca915b458
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-051-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE39 PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE39;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE39;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-052-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-052-ref.html
new file mode 100644
index 0000000000..a20cab2e66
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-052-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3B PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-053-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-053-ref.html
new file mode 100644
index 0000000000..62420698a5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-053-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3D PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-054-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-054-ref.html
new file mode 100644
index 0000000000..dacad2e424
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-054-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3F PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE3F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE3F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-055-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-055-ref.html
new file mode 100644
index 0000000000..cc9f1f06fd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-055-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE41 PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE41;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE41;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-056-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-056-ref.html
new file mode 100644
index 0000000000..b4246b5262
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-056-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE43 PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE43;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE43;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-057-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-057-ref.html
new file mode 100644
index 0000000000..6dfd8d0214
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-057-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE47 PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE47;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE47;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-058-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-058-ref.html
new file mode 100644
index 0000000000..3f784fa09d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-058-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE59 SMALL LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE59;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE59;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-059-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-059-ref.html
new file mode 100644
index 0000000000..6986744bb8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-059-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5B SMALL LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-060-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-060-ref.html
new file mode 100644
index 0000000000..cfbf4361c9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-060-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5D SMALL LEFT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFE5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFE5D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-061-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-061-ref.html
new file mode 100644
index 0000000000..87636e1d4b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-061-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF08 FULLWIDTH LEFT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF08;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF08;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-062-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-062-ref.html
new file mode 100644
index 0000000000..2e1e553913
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-062-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3B FULLWIDTH LEFT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF3B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-063-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-063-ref.html
new file mode 100644
index 0000000000..9cc3675752
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-063-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5B FULLWIDTH LEFT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-064-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-064-ref.html
new file mode 100644
index 0000000000..000b51cc84
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-064-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5F FULLWIDTH LEFT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF5F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF5F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-065-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-065-ref.html
new file mode 100644
index 0000000000..add895356d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-065-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF62 HALFWIDTH LEFT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />&#xFF62;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />&#xFF62;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-100-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-100-ref.html
new file mode 100644
index 0000000000..91920a0d51
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-100-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3001 IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3001;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3001;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-101-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-101-ref.html
new file mode 100644
index 0000000000..115837ffc2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-101-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3002 IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3002;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3002;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-102-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-102-ref.html
new file mode 100644
index 0000000000..43ed930884
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-102-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE50 SMALL COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE50;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE50;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-103-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-103-ref.html
new file mode 100644
index 0000000000..2deabec33e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-103-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE52 SMALL FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE52;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE52;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-104-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-104-ref.html
new file mode 100644
index 0000000000..12a8a26e16
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-104-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0C FULLWIDTH COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF0C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-105-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-105-ref.html
new file mode 100644
index 0000000000..cc54084b49
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-105-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF0E FULLWIDTH FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF0E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF0E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-106-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-106-ref.html
new file mode 100644
index 0000000000..0bb25f9e98
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-106-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF61 HALFWIDTH IDEOGRAPHIC FULL STOP</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF61;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF61;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-107-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-107-ref.html
new file mode 100644
index 0000000000..6f5cea03f4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-107-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF64 HALFWIDTH IDEOGRAPHIC COMMA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF64;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF64;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-108-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-108-ref.html
new file mode 100644
index 0000000000..abc194f541
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-108-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0029 RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0029;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0029;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-109-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-109-ref.html
new file mode 100644
index 0000000000..bf524e96fd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-109-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 005D RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x005D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x005D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-110-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-110-ref.html
new file mode 100644
index 0000000000..c58e6ad4c0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-110-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 007D RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x007D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x007D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-111-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-111-ref.html
new file mode 100644
index 0000000000..07686ac92e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-111-ref.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3B TIBETAN MARK GUG RTAGS GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: CSSFW;
+ src: url('/fonts/adobe-fonts/CSSFWOrientationTest.otf');
+ }
+.test, .ref { font-size: 30px; font-family: CSSFW, sans-serif; padding: 0; width: 3em; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0F3B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-112-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-112-ref.html
new file mode 100644
index 0000000000..da06c4af66
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-112-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0F3D TIBETAN MARK ANG KHANG GYAS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0F3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0F3D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-113-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-113-ref.html
new file mode 100644
index 0000000000..f3e44386c5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-113-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 169C OGHAM REVERSED FEATHER MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x169C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x169C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-114-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-114-ref.html
new file mode 100644
index 0000000000..bfb47793c6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-114-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2046 RIGHT SQUARE BRACKET WITH QUILL</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2046;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2046;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-115-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-115-ref.html
new file mode 100644
index 0000000000..5546319a87
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-115-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 207E SUPERSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x207E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x207E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-116-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-116-ref.html
new file mode 100644
index 0000000000..656f7b78f1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-116-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 208E SUBSCRIPT RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x208E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x208E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-117-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-117-ref.html
new file mode 100644
index 0000000000..120291e812
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-117-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 232A RIGHT-POINTING ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x232A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x232A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-119-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-119-ref.html
new file mode 100644
index 0000000000..c0d1b1a43b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-119-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2769 MEDIUM RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2769;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2769;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-120-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-120-ref.html
new file mode 100644
index 0000000000..563c256579
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-120-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276B MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x276B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-121-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-121-ref.html
new file mode 100644
index 0000000000..e78b5fde65
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-121-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276D MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x276D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-122-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-122-ref.html
new file mode 100644
index 0000000000..e044d9be01
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-122-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 276F HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x276F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x276F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-123-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-123-ref.html
new file mode 100644
index 0000000000..7f865de8f6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-123-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2771;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2771;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-124-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-124-ref.html
new file mode 100644
index 0000000000..fe3ad047f9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-124-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2773;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2773;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-125-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-125-ref.html
new file mode 100644
index 0000000000..37671a5027
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-125-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2775;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2775;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-126-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-126-ref.html
new file mode 100644
index 0000000000..9cfbb13c08
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-126-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E7 MATHEMATICAL RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x27E7;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E7;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-127-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-127-ref.html
new file mode 100644
index 0000000000..e97aa629a1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-127-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27E9 MATHEMATICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x27E9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27E9;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-128-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-128-ref.html
new file mode 100644
index 0000000000..29c0cea9af
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-128-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 27EB MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x27EB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x27EB;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-129-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-129-ref.html
new file mode 100644
index 0000000000..6861289c58
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-129-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2984 RIGHT WHITE CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2984;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2984;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-130-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-130-ref.html
new file mode 100644
index 0000000000..600fc9ae5e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-130-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2986 RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2986;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2986;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-131-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-131-ref.html
new file mode 100644
index 0000000000..e5e947af47
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-131-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2988 Z NOTATION RIGHT IMAGE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2988;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2988;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-132-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-132-ref.html
new file mode 100644
index 0000000000..c491c47652
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-132-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298A Z NOTATION RIGHT BINDING BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x298A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-133-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-133-ref.html
new file mode 100644
index 0000000000..77fbf81842
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-133-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298C RIGHT SQUARE BRACKET WITH UNDERBAR</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x298C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-134-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-134-ref.html
new file mode 100644
index 0000000000..0050299e79
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-134-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 298E RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x298E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x298E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-135-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-135-ref.html
new file mode 100644
index 0000000000..00aae4f02c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-135-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2990 RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2990;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2990;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-136-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-136-ref.html
new file mode 100644
index 0000000000..17b7f2fb7e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-136-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2992 RIGHT ANGLE BRACKET WITH DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2992;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2992;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-137-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-137-ref.html
new file mode 100644
index 0000000000..2b02661ee6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-137-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2994 RIGHT ARC GREATER-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2994;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2994;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-138-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-138-ref.html
new file mode 100644
index 0000000000..9c19fc4202
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-138-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2996 DOUBLE RIGHT ARC LESS-THAN BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2996;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2996;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-139-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-139-ref.html
new file mode 100644
index 0000000000..99bce9eb82
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-139-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 2998 RIGHT BLACK TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x2998;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x2998;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-140-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-140-ref.html
new file mode 100644
index 0000000000..51e3ae03de
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-140-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29D9 RIGHT WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x29D9;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29D9;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-141-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-141-ref.html
new file mode 100644
index 0000000000..e0f33d546a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-141-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29DB RIGHT DOUBLE WIGGLY FENCE</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x29DB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29DB;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-142-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-142-ref.html
new file mode 100644
index 0000000000..a02b17d9b5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-142-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 29FD RIGHT-POINTING CURVED ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x29FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x29FD;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-143-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-143-ref.html
new file mode 100644
index 0000000000..b0b2a92f84
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-143-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3009 RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3009;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3009;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-144-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-144-ref.html
new file mode 100644
index 0000000000..bd92ed7ff5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-144-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300B RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x300B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-145-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-145-ref.html
new file mode 100644
index 0000000000..5168a7327d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-145-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300D RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x300D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-146-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-146-ref.html
new file mode 100644
index 0000000000..399b5b3b8a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-146-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 300F RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x300F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x300F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-147-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-147-ref.html
new file mode 100644
index 0000000000..bb72516dfd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-147-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3011 RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3011;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3011;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-148-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-148-ref.html
new file mode 100644
index 0000000000..6fc052a089
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-148-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3015 RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3015;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3015;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-149-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-149-ref.html
new file mode 100644
index 0000000000..1fa0b2525c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-149-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3017 RIGHT WHITE LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3017;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3017;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-150-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-150-ref.html
new file mode 100644
index 0000000000..3ba44055d8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-150-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3019 RIGHT WHITE TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3019;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3019;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-151-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-151-ref.html
new file mode 100644
index 0000000000..3b95e441a9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-151-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301B RIGHT WHITE SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-152-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-152-ref.html
new file mode 100644
index 0000000000..9197189092
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-152-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301E DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-153-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-153-ref.html
new file mode 100644
index 0000000000..de9eadcd34
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-153-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301F LOW DOUBLE PRIME QUOTATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-155-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-155-ref.html
new file mode 100644
index 0000000000..c8f3818f3a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-155-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE36 PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE36;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE36;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-156-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-156-ref.html
new file mode 100644
index 0000000000..781d78d8b4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-156-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE38 PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE38;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE38;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-157-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-157-ref.html
new file mode 100644
index 0000000000..9e8a8f6cea
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-157-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3A PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE3A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-158-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-158-ref.html
new file mode 100644
index 0000000000..fbeff6ad46
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-158-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3C PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE3C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-159-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-159-ref.html
new file mode 100644
index 0000000000..86b378c3b7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-159-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE3E PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE3E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE3E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-160-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-160-ref.html
new file mode 100644
index 0000000000..ebca446b1a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-160-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE40 PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE40;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE40;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-161-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-161-ref.html
new file mode 100644
index 0000000000..958940816c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-161-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE42 PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE42;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE42;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-162-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-162-ref.html
new file mode 100644
index 0000000000..0238fe36f8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-162-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE44 PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE44;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE44;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-163-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-163-ref.html
new file mode 100644
index 0000000000..e62a3662cd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-163-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE48 PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE48;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE48;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-164-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-164-ref.html
new file mode 100644
index 0000000000..1deb6369d6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-164-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5A SMALL RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-165-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-165-ref.html
new file mode 100644
index 0000000000..692a8e2ddd
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-165-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5C SMALL RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE5C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-166-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-166-ref.html
new file mode 100644
index 0000000000..da1e27eab7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-166-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE5E SMALL RIGHT TORTOISE SHELL BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE5E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE5E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-167-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-167-ref.html
new file mode 100644
index 0000000000..0509a85960
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-167-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF09 FULLWIDTH RIGHT PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF09;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF09;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-168-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-168-ref.html
new file mode 100644
index 0000000000..042ab9a5d2
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-168-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF3D FULLWIDTH RIGHT SQUARE BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF3D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF3D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-169-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-169-ref.html
new file mode 100644
index 0000000000..9c5499e6b4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-169-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF5D FULLWIDTH RIGHT CURLY BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF5D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF5D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-170-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-170-ref.html
new file mode 100644
index 0000000000..d7028fbd76
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-170-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF60 FULLWIDTH RIGHT WHITE PARENTHESIS</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF60;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF60;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-171-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-171-ref.html
new file mode 100644
index 0000000000..3802671f60
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-171-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF63 HALFWIDTH RIGHT CORNER BRACKET</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF63;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF63;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-200-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-200-ref.html
new file mode 100644
index 0000000000..cd50cae0ec
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-200-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5A THAI CHARACTER ANGKHANKHU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0E5A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-201-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-201-ref.html
new file mode 100644
index 0000000000..d8d079cfaf
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-201-ref.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 0E5B THAI CHARACTER KHOMUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+.test, .ref { width: 115px; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x0E5B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x0E5B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-202-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-202-ref.html
new file mode 100644
index 0000000000..0b2ee7309a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-202-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D4 KHMER SIGN KHAN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x17D4;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D4;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-203-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-203-ref.html
new file mode 100644
index 0000000000..0d6bb9c72c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-203-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17D6 KHMER SIGN CAMNUC PII KUUH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x17D6;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17D6;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-204-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-204-ref.html
new file mode 100644
index 0000000000..9a083cba7b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-204-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 17DA KHMER SIGN KOOMUUT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x17DA;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x17DA;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-205-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-205-ref.html
new file mode 100644
index 0000000000..f01625dbdb
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-205-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 203C DOUBLE EXCLAMATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x203C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x203C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-206-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-206-ref.html
new file mode 100644
index 0000000000..8f9e54f18f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-206-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3005 IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x3005;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x3005;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-207-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-207-ref.html
new file mode 100644
index 0000000000..6c1e1e636b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-207-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 301C WAVE DASH</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x301C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x301C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-208-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-208-ref.html
new file mode 100644
index 0000000000..33026f4388
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-208-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303C MASU MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x303C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-209-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-209-ref.html
new file mode 100644
index 0000000000..c6b71bb879
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-209-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 303B VERTICAL IDEOGRAPHIC ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x303B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x303B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-210-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-210-ref.html
new file mode 100644
index 0000000000..24d07d6d5d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-210-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309B KATAKANA-HIRAGANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-211-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-211-ref.html
new file mode 100644
index 0000000000..2f15f277d8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-211-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309C KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309C;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309C;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-212-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-212-ref.html
new file mode 100644
index 0000000000..468b7f620a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-212-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309D HIRAGANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309D;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309D;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-213-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-213-ref.html
new file mode 100644
index 0000000000..698e01c397
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-213-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 309E HIRAGANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x309E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x309E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-214-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-214-ref.html
new file mode 100644
index 0000000000..90e4a6135d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-214-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30A0;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30A0;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-215-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-215-ref.html
new file mode 100644
index 0000000000..5c5810da18
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-215-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FB KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FB;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FB;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-217-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-217-ref.html
new file mode 100644
index 0000000000..16db5f8cb5
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-217-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FD KATAKANA ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FD;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FD;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-218-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-218-ref.html
new file mode 100644
index 0000000000..eff2c5d774
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-218-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30FE KATAKANA VOICED ITERATION MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#x30FE;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#x30FE;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-219-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-219-ref.html
new file mode 100644
index 0000000000..817a07a12a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-219-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE54 SMALL SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE54;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE54;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-220-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-220-ref.html
new file mode 100644
index 0000000000..d8ce7e929b
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-220-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FE55 SMALL COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFE55;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFE55;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-221-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-221-ref.html
new file mode 100644
index 0000000000..7aeb36995e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-221-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1A FULLWIDTH COLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF1A;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1A;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-222-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-222-ref.html
new file mode 100644
index 0000000000..53643b091a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-222-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF1B FULLWIDTH SEMICOLON</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF1B;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF1B;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-223-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-223-ref.html
new file mode 100644
index 0000000000..71761fe267
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-223-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF65 HALFWIDTH KATAKANA MIDDLE DOT</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF65;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF65;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-225-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-225-ref.html
new file mode 100644
index 0000000000..fcc28f8b20
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-225-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9E HALFWIDTH KATAKANA VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF9E;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9E;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-226-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-226-ref.html
new file mode 100644
index 0000000000..c691af7796
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-226-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: FF9F HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>中中<br />中&#xFF9F;文</div>
+
+
+
+
+
+<div class='ref'>中中<br />中&#xFF9F;文</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-250-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-250-ref.html
new file mode 100644
index 0000000000..643abd349f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-250-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3041 HIRAGANA LETTER SMALL A</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3041;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3041;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-251-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-251-ref.html
new file mode 100644
index 0000000000..cc26eac8ed
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-251-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3043 HIRAGANA LETTER SMALL I</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3043;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3043;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-252-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-252-ref.html
new file mode 100644
index 0000000000..09a22f207f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-252-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3045 HIRAGANA LETTER SMALL U</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3045;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3045;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-253-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-253-ref.html
new file mode 100644
index 0000000000..81b1ef31d0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-253-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3047 HIRAGANA LETTER SMALL E</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3047;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3047;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-254-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-254-ref.html
new file mode 100644
index 0000000000..a263c8ea12
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-254-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3049 HIRAGANA LETTER SMALL O</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3049;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3049;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-255-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-255-ref.html
new file mode 100644
index 0000000000..37a2147d96
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-255-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3063 HIRAGANA LETTER SMALL TU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3063;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3063;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-256-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-256-ref.html
new file mode 100644
index 0000000000..7cbfcbc2f0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-256-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3083 HIRAGANA LETTER SMALL YA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3083;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3083;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-257-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-257-ref.html
new file mode 100644
index 0000000000..ad02dc8724
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-257-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3085 HIRAGANA LETTER SMALL YU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3085;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3085;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-258-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-258-ref.html
new file mode 100644
index 0000000000..32d9c033a3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-258-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 3087 HIRAGANA LETTER SMALL YO </title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x3087;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x3087;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-259-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-259-ref.html
new file mode 100644
index 0000000000..8f9b7b99be
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-259-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 308E HIRAGANA LETTER SMALL WA </title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+<p class="instructions">Test passes if the two orange boxes are identical.</p>
+
+
+<div class='ref'>かか<br />か&#x308E;な</div>
+
+
+
+
+
+<div class='ref'>かか<br />か&#x308E;な</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-260-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-260-ref.html
new file mode 100644
index 0000000000..4138a010e8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-260-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A1 KATAKANA LETTER SMALL A</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A1;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A1;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-261-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-261-ref.html
new file mode 100644
index 0000000000..e75d5b6388
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-261-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A3 KATAKANA LETTER SMALL I</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-262-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-262-ref.html
new file mode 100644
index 0000000000..340f377a57
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-262-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A5 KATAKANA LETTER SMALL U</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A5;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-263-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-263-ref.html
new file mode 100644
index 0000000000..c89ad0eb58
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-263-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A7 KATAKANA LETTER SMALL E</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A7;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-264-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-264-ref.html
new file mode 100644
index 0000000000..08eed144d7
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-264-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30A9 KATAKANA LETTER SMALL O</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30A9;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30A9;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-265-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-265-ref.html
new file mode 100644
index 0000000000..2dbda746d0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-265-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30C3 KATAKANA LETTER SMALL TU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30C3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30C3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-266-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-266-ref.html
new file mode 100644
index 0000000000..259b8f8249
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-266-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E3 KATAKANA LETTER SMALL YA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30E3;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E3;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-267-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-267-ref.html
new file mode 100644
index 0000000000..02ef355276
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-267-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E5 KATAKANA LETTER SMALL YU</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30E5;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E5;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-268-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-268-ref.html
new file mode 100644
index 0000000000..ad2b16f5df
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-268-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30E7 KATAKANA LETTER SMALL YO</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30E7;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30E7;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-269-ref.html b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-269-ref.html
new file mode 100644
index 0000000000..986634f0f8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/reference/css3-text-line-break-opclns-269-ref.html
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: 30EE KATAKANA LETTER SMALL WA</title>
+<link rel='author' title='Richard Ishida' href='mailto:ishida@w3.org'>
+<style type='text/css'>
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ /* filesize: 803K */
+ }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 95px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+</head>
+<body>
+
+
+
+<div class='ref'>カカ<br />カ&#x30EE;ナ</div>
+
+
+
+
+
+<div class='ref'>カカ<br />カ&#x30EE;ナ</div>
+
+
+
+
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/support/BPG-Ucnobi-U.woff b/testing/web-platform/tests/css/css-text/i18n/support/BPG-Ucnobi-U.woff
new file mode 100644
index 0000000000..577500e242
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/support/BPG-Ucnobi-U.woff
Binary files differ
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-loose.html
new file mode 100644
index 0000000000..dd53abb141
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-loose.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:loose, Conditional Japanese Starter (CJ) (unknown lang)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line; the langauge being unkonwn makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-normal.html
new file mode 100644
index 0000000000..faf8d401fb
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-normal.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:normal, Conditional Japanese Starter (CJ) (unknown lang)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line; the langauge being unknown makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-strict.html
new file mode 100644
index 0000000000..aa8a8e2d32
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cj-strict.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>line-break:strict, Conditional Japanese Starter (CJ) (language unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="With line-break:strict, a browser will NOT allow a conditional Japanese starter at the beginning of a line; the langauge being unknown makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref {
+ font-size: 30px;
+ font-family: mplus-1p-regular, sans-serif;
+ width: 185px;
+ padding: 0;
+ border: 1px solid orange;
+ line-height: 1em;
+ text-autospace: no-autospace;
+}
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-loose.html
new file mode 100644
index 0000000000..783582512f
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (loose,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:loose, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-normal.html
new file mode 100644
index 0000000000..128d6008de
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (normal,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:normal, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-strict.html
new file mode 100644
index 0000000000..d13307d2a9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-cpm-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (strict,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unkonwn, and line-break:strict, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-loose.html
new file mode 100644
index 0000000000..2cd6e720fa
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-loose.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (loose,unkonwn)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:loose, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-normal.html
new file mode 100644
index 0000000000..c506a0d6fa
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-normal.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (normal,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unkonwn, and line-break:normal, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-strict.html
new file mode 100644
index 0000000000..22b07b82d9
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-hyphens-strict.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (strict,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unkonwn, and line-break:strict, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-loose.html
new file mode 100644
index 0000000000..f724244738
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-loose.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (loose,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:loose, a browser allows a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-normal.html
new file mode 100644
index 0000000000..e86775d036
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-normal.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (normal,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:normal, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-strict.html
new file mode 100644
index 0000000000..92e6c5d2b1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-in-strict.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (strict,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:strict, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-loose.html
new file mode 100644
index 0000000000..29d858565d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-loose.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (loose,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is uknown, and line-break:loose, a browser allows a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if lang unknown and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-normal.html
new file mode 100644
index 0000000000..c5e29373f1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-normal.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (normal,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:normal, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-strict.html
new file mode 100644
index 0000000000..2fe1cf0821
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-iteration-strict.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (strict,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:strict, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if lang unknown and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-loose.html
new file mode 100644
index 0000000000..b2686666e1
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (loose,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:loose, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-normal.html
new file mode 100644
index 0000000000..d50c8b3035
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (normal,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unkonwn, and line-break:normal, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-strict.html
new file mode 100644
index 0000000000..0f1420d1b0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-po-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (strict,unkonwn)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:strict, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-loose.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-loose.html
new file mode 100644
index 0000000000..e966da22f8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-loose.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (loose,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:loose, a browser will allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test (ID ÷ PR × ID)
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-normal.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-normal.html
new file mode 100644
index 0000000000..1ae3a6e557
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-normal.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (normal,unknown)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unkonwn, and line-break:normal, a browser will allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test (ID ÷ PR × ID)
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-strict.html b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-strict.html
new file mode 100644
index 0000000000..7dddd5f256
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/unknown-lang/css-text-line-break-pr-strict.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (strict,unkonwn)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is unknown, and line-break:strict, a browser will allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test (ID ÷ PR × ID)
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-loose.html
new file mode 100644
index 0000000000..2b65c2d838
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-loose.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:loose, Conditional Japanese Starter (CJ) (zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line; the langauge being chinese makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-normal.html
new file mode 100644
index 0000000000..adda199da3
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-normal.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>Line-break:normal, Conditional Japanese Starter (CJ) (zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="The browser allows a conditional Japanese starter at the beginning of a line; the langauge being chinese makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-strict.html
new file mode 100644
index 0000000000..bbae688d47
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cj-strict.html
@@ -0,0 +1,117 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>line-break:strict, Conditional Japanese Starter (CJ) (zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="With line-break:strict, a browser will NOT allow a conditional Japanese starter at the beginning of a line; the langauge being chinese makes no difference.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3041 HIRAGANA LETTER SMALL A
+3043 HIRAGANA LETTER SMALL I
+3045 HIRAGANA LETTER SMALL U
+3047 HIRAGANA LETTER SMALL E
+3049 HIRAGANA LETTER SMALL O
+3063 HIRAGANA LETTER SMALL TU
+3083 HIRAGANA LETTER SMALL YA
+3085 HIRAGANA LETTER SMALL YU
+3087 HIRAGANA LETTER SMALL YO
+308E HIRAGANA LETTER SMALL WA
+3095 HIRAGANA LETTER SMALL KA
+3096 HIRAGANA LETTER SMALL KE
+30A1 KATAKANA LETTER SMALL A
+30A3 KATAKANA LETTER SMALL I
+30A5 KATAKANA LETTER SMALL U
+30A7 KATAKANA LETTER SMALL E
+30A9 KATAKANA LETTER SMALL O
+30C3 KATAKANA LETTER SMALL TU
+30E3 KATAKANA LETTER SMALL YA
+30E5 KATAKANA LETTER SMALL YU
+30E7 KATAKANA LETTER SMALL YO
+30EE KATAKANA LETTER SMALL WA
+30F5 KATAKANA LETTER SMALL KA
+30F6 KATAKANA LETTER SMALL KE
+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK
+31F0 KATAKANA LETTER SMALL KU
+31F1 KATAKANA LETTER SMALL SI
+31F2 KATAKANA LETTER SMALL SU
+31F3 KATAKANA LETTER SMALL TO
+31F4 KATAKANA LETTER SMALL NU
+31F5 KATAKANA LETTER SMALL HA
+31F6 KATAKANA LETTER SMALL HI
+31F7 KATAKANA LETTER SMALL HU
+31F8 KATAKANA LETTER SMALL HE
+31F9 KATAKANA LETTER SMALL HO
+31FA KATAKANA LETTER SMALL MU
+31FB KATAKANA LETTER SMALL RA
+31FC KATAKANA LETTER SMALL RI
+31FD KATAKANA LETTER SMALL RU
+31FE KATAKANA LETTER SMALL RE
+31FF KATAKANA LETTER SMALL RO
+FF67 HALFWIDTH KATAKANA LETTER SMALL A
+FF68 HALFWIDTH KATAKANA LETTER SMALL I
+FF69 HALFWIDTH KATAKANA LETTER SMALL U
+FF6A HALFWIDTH KATAKANA LETTER SMALL E
+FF6B HALFWIDTH KATAKANA LETTER SMALL O
+FF6C HALFWIDTH KATAKANA LETTER SMALL YA
+FF6D HALFWIDTH KATAKANA LETTER SMALL YU
+FF6E HALFWIDTH KATAKANA LETTER SMALL YO
+FF6F HALFWIDTH KATAKANA LETTER SMALL TU
+FF70 HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
new file mode 100644
index 0000000000..38c207db0d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (loose,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:loose, a browser allows a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
new file mode 100644
index 0000000000..edeb465b1e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (normal,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:normal, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
new file mode 100644
index 0000000000..235bd712d0
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-cpm-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: centred punctuation (strict,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:strict, a browser will NOT allow a break before one of the centred punctuation characters listed.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `30FB KATAKANA MIDDLE DOT
+FF1A FULLWIDTH COLON
+FF1B FULLWIDTH SEMICOLON
+FF65 HALFWIDTH KATAKANA MIDDLE DOT
+203C DOUBLE EXCLAMATION MARK
+2047 DOUBLE QUESTION MARK
+2048 QUESTION EXCLAMATION MARK
+2049 EXCLAMATION QUESTION MARK
+FF01 FULLWIDTH EXCLAMATION MARK
+FF1F FULLWIDTH QUESTION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
new file mode 100644
index 0000000000..5d4ab12bc8
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-loose.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (loose,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:loose, a browser allows a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
new file mode 100644
index 0000000000..1a07353fce
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-normal.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (normal,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:normal, a browser allows a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
new file mode 100644
index 0000000000..8ac874e29c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-hyphens-strict.html
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS3 Text, linebreaks: hyphens (strict,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:strict, a browser will NOT allow a break before a hyphen-like CJK character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `301C WAVE DASH
+30A0 KATAKANA-HIRAGANA DOUBLE HYPHEN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
new file mode 100644
index 0000000000..56fec0bd3e
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-loose.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (loose,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:loose, a browser allows a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
new file mode 100644
index 0000000000..67d1668179
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-normal.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (normal,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:normal, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
new file mode 100644
index 0000000000..a03f8fec75
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-in-strict.html
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: IN (strict,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:strict, a browser will NOT allow a break before an inseparable character.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `2024 ONE DOT LEADER
+2025 TWO DOT LEADER
+2026 HORIZONTAL ELLIPSIS
+22EF MIDLINE HORIZONTAL ELLIPSIS
+FE19 PRESENTATION FORM FOR VERTICAL HORIZONTAL ELLIPSIS`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
new file mode 100644
index 0000000000..6ac29a1fb4
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-loose.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (loose,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:loose, a browser allows a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
new file mode 100644
index 0000000000..8f5276ac04
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-normal.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (normal,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:normal, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
new file mode 100644
index 0000000000..678e43d767
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-iteration-strict.html
@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: iteration (strict,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:strict, a browser will NOT allow a break before an iteration mark.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `3005 IDEOGRAPHIC ITERATION MARK
+303B VERTICAL IDEOGRAPHIC ITERATION MARK
+309D HIRAGANA ITERATION MARK
+309E HIRAGANA VOICED ITERATION MARK
+30FD KATAKANA ITERATION MARK
+30FE KATAKANA VOICED ITERATION MARK`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
new file mode 100644
index 0000000000..3bd1b2f6b6
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-loose.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (loose,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:loose, a browser allows a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
new file mode 100644
index 0000000000..76eed4b059
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-normal.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (normal,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:normal, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
new file mode 100644
index 0000000000..991b9ffa6d
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-po-strict.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PO AFW (strict,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:strict, a browser will NOT allow a break before a PO character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B0 DEGREE SIGN
+2030 PER MILLE SIGN
+2032 PRIME
+2033 DOUBLE PRIME
+2035 REVERSED PRIME
+2103 DEGREE CELSIUS
+2109 DEGREE FAHRENHEIT
+FE6A SMALL PERCENT SIGN
+FF05 FULLWIDTH PERCENT SIGN
+FFE0 FULLWIDTH CENT SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-loose.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-loose.html
new file mode 100644
index 0000000000..e3b13e060c
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-loose.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (loose,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:loose, a browser allows a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: loose; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文文<br/>&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may appear at line start if zh and loose');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-normal.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-normal.html
new file mode 100644
index 0000000000..954953cd41
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-normal.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (normal,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:normal, a browser will NOT allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: normal; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and normal');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>
diff --git a/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict.html b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict.html
new file mode 100644
index 0000000000..cefd42923a
--- /dev/null
+++ b/testing/web-platform/tests/css/css-text/i18n/zh/css-text-line-break-zh-pr-strict.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en" >
+<head>
+<meta charset="utf-8"/>
+<title>CSS text, linebreaks: PR AFW (strict,zh)</title>
+<link rel="author" title="Richard Ishida" href="mailto:ishida@w3.org">
+<link rel="help" href="https://drafts.csswg.org/css-text-3/#line-break-property">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<meta name="assert" content="When the language is Chinese, and line-break:strict, a browser will NOT allow a break before a PR character with East Asian Width of A, F, or W.">
+<style type="text/css">
+@font-face {
+ font-family: 'mplus-1p-regular';
+ src: url('/fonts/mplus-1p-regular.woff') format('woff');
+ }
+#wrapper { position: relative; }
+.test { color: red; }
+.test, .ref { font-size: 30px; font-family: mplus-1p-regular, sans-serif; width: 185px; padding: 0; border: 1px solid orange; line-height: 1em; }
+</style>
+<style>
+.test { line-break: strict; }
+</style>
+<script>
+var charlist = `00B1 PLUS-MINUS SIGN
+20AC EURO SIGN
+2116 NUMERO SIGN
+FE69 SMALL DOLLAR SIGN
+FF04 FULLWIDTH DOLLAR SIGN
+FFE1 FULLWIDTH POUND SIGN
+FFE5 FULLWIDTH YEN SIGN
+FFE6 FULLWIDTH WON SIGN`
+</script>
+</head>
+<body>
+<script>
+var lines = charlist.split('\n')
+var out = '<div id="log"></div>\n'
+for (var i=0;i<lines.length;i++) {
+ // get the data
+ var firstSpace = lines[i].indexOf(' ')
+ var hex = lines[i].substr(0,firstSpace)
+ var name = lines[i].substr(firstSpace)
+ // make a test
+ out += '<div class="wrapper"><div>'+hex+'</div>' +
+ '<div class="test" id="test'+i+'" lang="zh">文文文文文文&#x'+hex+';字<span id="testSpan'+i+'">字</span></div>' +
+ '<div class="ref" id="ref'+i+'" lang="zh">文文文文文<br/>文&#x'+hex+';字<span id="refSpan'+i+'">字</span></div>' +
+ '</div>'
+ }
+
+document.querySelector('body').innerHTML = out
+setup({explicit_done: true});
+
+document.fonts.ready.then(validate);
+
+function validate() {
+ for (i=0;i<lines.length;i++) {
+ test(function() {
+ assert_approx_equals(
+ document.getElementById('testSpan'+i).getBoundingClientRect().left,
+ document.getElementById('refSpan'+i).getBoundingClientRect().left, 1);
+ // Hide successful tests.
+ document.getElementById('test'+i).parentNode.style.display = 'none';
+ }, lines[i]+' may NOT appear at line start if zh and strict');
+ }
+ done();
+}
+</script>
+<!--Notes:
+The test creates a box with room for 6 characters, causing wrapping to occur either between the 6th and the 7th character, or before the 6th if the breaks after the 6th or before the 7th are prohibited.
+
+It also creates the expected behaviour with a ref instance, using <br/>. Each line ends with a span. The test then checks whether the left edge of the span is in the same place in test and ref instance.
+-->
+</body>
+</html>