From b575e3ca99501448cf6bed6e82a83f9a99d938d8 Mon Sep 17 00:00:00 2001 From: Marcel van Lohuizen Date: Thu, 25 Oct 2012 13:02:31 +0200 Subject: [PATCH] exp/locale/collate: slightly changed collation elements: - Allow secondary values below the default value in second form. This is to support before tags for secondary values, as used by Chinese. - Eliminate collation elements that are guaranteed to be immaterial after a weight increment. R=r CC=golang-dev https://golang.org/cl/6739051 --- src/pkg/exp/locale/collate/build/colelem.go | 36 ++++++++++++------- .../exp/locale/collate/build/colelem_test.go | 24 ++++++++----- src/pkg/exp/locale/collate/colelem.go | 2 +- src/pkg/exp/locale/collate/colelem_test.go | 2 +- 4 files changed, 40 insertions(+), 24 deletions(-) diff --git a/src/pkg/exp/locale/collate/build/colelem.go b/src/pkg/exp/locale/collate/build/colelem.go index 343aa740a7..ff63eb594c 100644 --- a/src/pkg/exp/locale/collate/build/colelem.go +++ b/src/pkg/exp/locale/collate/build/colelem.go @@ -70,7 +70,7 @@ func makeCE(weights []int) (uint32, error) { ce = uint32(weights[0]<= 1< %x", d, d, 1<>= 5 - w.secondary = defaultSecondary + uint16(ce&0xF) + w.secondary = defaultSecondary + uint16(ce&0xF) - 4 ce >>= 4 w.primary = uint32(ce) } else { diff --git a/src/pkg/exp/locale/collate/colelem_test.go b/src/pkg/exp/locale/collate/colelem_test.go index bcb4ddb68c..b8701f66b5 100644 --- a/src/pkg/exp/locale/collate/colelem_test.go +++ b/src/pkg/exp/locale/collate/colelem_test.go @@ -32,7 +32,7 @@ func makeCE(weights []int) colElem { ce = colElem(weights[0]<