123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- -->
- <!-- $Id$ -->
- <testcase>
- <info>
- <p>
- This test checks some of the UAX#14 breaking rules.
- </p>
- </info>
- <fo>
- <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:svg="http://www.w3.org/2000/svg">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="normal" page-width="2.5in" page-height="10in" margin="5pt">
- <fo:region-body/>
- </fo:simple-page-master>
- </fo:layout-master-set>
- <fo:page-sequence master-reference="normal" white-space-collapse="true">
- <fo:flow flow-name="xsl-region-body" font-size="10pt">
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- BA -- Break Opportunity After (A)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- VeryLongWordWithAThinSpace PutInTheMiddleOfIt
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- BB -- Break Opportunity Before (B)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- VeryLongWordWithAnAcuteAccent´PutInTheMiddleOfIt
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- B2 -- Break Opportunity Before and After (B/A)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- —Very—Long—Word—With—LotsOf—Em—Dashes—Put—InBetween—And—Around—
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- B2 -- Break Opportunity Before and After (B/A) - as before but don't break between consecutive Em Dashes
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- AVeryLongWordWithSomeDouble— —Dashes— —Put— —In
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- AVeryLongWordWithSomeDouble——Dashes——Put——In
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- CL -- Closing Punctuation (XB)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- Closing )brackets )even )if )preceeded )by )a )space )are )not )a )break )point
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- EX -- Exclamation / interrogation (XB)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- Question ?marks ?and exclamation !marks !even ?if !preceeded ?by !a ?space !are ?not !a ?break !point
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- HY -- Hyphen Minus (XA)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- Very-Long-Word-With-Lots-Of-Hyphens-Put-In-Between
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- Hyphens-in-numbers-do-not-123-567-890-break
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- ID -- Ideographic (B/A)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 0pt 0pt">
- Need A Proper Test Case For This As Here Only The Ideographic Space Is Used
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- IN -- Inseperable characters (XP)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- There is never a break…………………………between characters of this class
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- IS -- Numeric Separator (Infix) (XB)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- Numbers containing separators 123,345,678.00 08:00:23.15 are not broken
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- OP -- Opening Punctuation (XA)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- Opening( brackets( even( if( followed( by( a( space( are( not( a( break( point
- </fo:block>
- <fo:block background-color="silver" font-size="8pt" margin="3pt 0pt 0pt 0pt">
- SY -- Symbols Allowing Break After (A)
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- http://a/very/long/url/can/be/broken/after/the/solidus
- </fo:block>
- <fo:block background-color="yellow" margin="0pt 0pt 3pt 0pt">
- No-break-point-in-normal-dates-12/12/2006-or-fractions-12345678/67890112
- </fo:block>
- </fo:flow>
- </fo:page-sequence>
- </fo:root>
- </fo>
- <checks>
- <eval expected="2" xpath="count(//flow/block[2]/lineArea)"/>
- <eval expected="141160" xpath="//flow/block[2]/lineArea[1]/text/@ipd"/>
- <eval expected="88150" xpath="//flow/block[2]/lineArea[2]/text/@ipd"/>
-
- <eval expected="2" xpath="count(//flow/block[4]/lineArea)"/>
- <eval expected="155060" xpath="//flow/block[4]/lineArea[1]/text/@ipd"/>
- <eval expected="89480" xpath="//flow/block[4]/lineArea[2]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[6]/lineArea)"/>
- <eval expected="166150" xpath="//flow/block[6]/lineArea[1]/text/@ipd"/>
- <eval expected="161160" xpath="//flow/block[6]/lineArea[2]/text/@ipd"/>
- <eval expected="70030" xpath="//flow/block[6]/lineArea[3]/text/@ipd"/>
-
- <eval expected="2" xpath="count(//flow/block[8]/lineArea)"/>
- <eval expected="151160" xpath="//flow/block[8]/lineArea[1]/text/@ipd"/>
- <eval expected="125590" xpath="//flow/block[8]/lineArea[2]/text/@ipd"/>
-
- <eval expected="2" xpath="count(//flow/block[9]/lineArea)"/>
- <eval expected="151160" xpath="//flow/block[9]/lineArea[1]/text/@ipd"/>
- <eval expected="117250" xpath="//flow/block[9]/lineArea[2]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[11]/lineArea)"/>
- <eval expected="122250" xpath="//flow/block[11]/lineArea[1]/text/@ipd"/>
- <eval expected="166730" xpath="//flow/block[11]/lineArea[2]/text/@ipd"/>
- <eval expected="52800" xpath="//flow/block[11]/lineArea[3]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[13]/lineArea)"/>
- <eval expected="162290" xpath="//flow/block[13]/lineArea[1]/text/@ipd"/>
- <eval expected="158970" xpath="//flow/block[13]/lineArea[2]/text/@ipd"/>
- <eval expected="140640" xpath="//flow/block[13]/lineArea[3]/text/@ipd"/>
-
- <eval expected="2" xpath="count(//flow/block[15]/lineArea)"/>
- <eval expected="136130" xpath="//flow/block[15]/lineArea[1]/text/@ipd"/>
- <eval expected="111710" xpath="//flow/block[15]/lineArea[2]/text/@ipd"/>
-
- <eval expected="2" xpath="count(//flow/block[16]/lineArea)"/>
- <eval expected="110580" xpath="//flow/block[16]/lineArea[1]/text/@ipd"/>
- <eval expected="102270" xpath="//flow/block[16]/lineArea[2]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[18]/lineArea)"/>
- <eval expected="125610" xpath="//flow/block[18]/lineArea[1]/text/@ipd"/>
- <eval expected="138380" xpath="//flow/block[18]/lineArea[2]/text/@ipd"/>
- <eval expected="133960" xpath="//flow/block[18]/lineArea[3]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[20]/lineArea)"/>
- <eval expected="72250" xpath="//flow/block[20]/lineArea[1]/text/@ipd"/>
- <eval expected="162810" xpath="//flow/block[20]/lineArea[2]/text/@ipd"/>
- <eval expected="101700" xpath="//flow/block[20]/lineArea[3]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[22]/lineArea)"/>
- <eval expected="138940" xpath="//flow/block[22]/lineArea[1]/text/@ipd"/>
- <eval expected="159010" xpath="//flow/block[22]/lineArea[2]/text/@ipd"/>
- <eval expected="30570" xpath="//flow/block[22]/lineArea[3]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[24]/lineArea)"/>
- <eval expected="163390" xpath="//flow/block[24]/lineArea[1]/text/@ipd"/>
- <eval expected="144490" xpath="//flow/block[24]/lineArea[2]/text/@ipd"/>
- <eval expected="27790" xpath="//flow/block[24]/lineArea[3]/text/@ipd"/>
-
- <eval expected="2" xpath="count(//flow/block[26]/lineArea)"/>
- <eval expected="156750" xpath="//flow/block[26]/lineArea[1]/text/@ipd"/>
- <eval expected="70590" xpath="//flow/block[26]/lineArea[2]/text/@ipd"/>
-
- <eval expected="3" xpath="count(//flow/block[27]/lineArea)"/>
- <eval expected="114460" xpath="//flow/block[27]/lineArea[1]/text/@ipd"/>
- <eval expected="93380" xpath="//flow/block[27]/lineArea[2]/text/@ipd"/>
- <eval expected="132860" xpath="//flow/block[27]/lineArea[3]/text/@ipd"/>
- </checks>
- </testcase>
|