Changes between Version 21 and Version 22 of WRAPPING_TEXT_RENDERING_R0


Ignore:
Timestamp:
05/29/09 20:52:42 (16 years ago)
Author:
vlado
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WRAPPING_TEXT_RENDERING_R0

    v21 v22  
    7878   * (advantage) The number of transitions in the algorithm vastly decrease, generally resulting in a better layout performance. Here is an example for a one line text with 2 segments: 
    7979      
    80      ''Old Solution''      ''New Solution'' 
    81      OPEN_TEXT             OPEN_TEXT 
    82      OPEN_PART             OPEN_PART 
    83      OPEN_LINE             OPEN_LINE 
    84      OPEN_SEGMENT          SEGMENT 
    85      ATOM                  SEGMENT 
    86      CLOSE_SEGMENT         CLOSE_LINE 
    87      OPEN_SEGMENT          CLOSE_PART 
    88      ATOM                  CLOSE_TEXT 
    89      CLOSE_SEGMENT 
    90      CLOSE_LINE 
    91      CLOSE_PART 
    92      CLOSE_TEXT  
    93    * (drawback) EdgeKind.SEGMENT has to be more complex to handle the following cases (in the old solution the responsibilities were spread between OPEN_SEGMENT, CLOSE_SEGMENT and ATOM EdgeKinds): 
    94     *  
     80     ''Old Solution''      ''New Solution''[[BR]] 
     81     OPEN_TEXT             OPEN_TEXT[[BR]] 
     82     OPEN_PART             OPEN_PART[[BR]] 
     83     OPEN_LINE             OPEN_LINE[[BR]] 
     84     OPEN_SEGMENT          SEGMENT[[BR]] 
     85     ATOM                  SEGMENT[[BR]] 
     86     CLOSE_SEGMENT         CLOSE_LINE[[BR]] 
     87     OPEN_SEGMENT          CLOSE_PART[[BR]] 
     88     ATOM                  CLOSE_TEXT[[BR]] 
     89     CLOSE_SEGMENT[[BR]] 
     90     CLOSE_LINE[[BR]] 
     91     CLOSE_PART[[BR]] 
     92     CLOSE_TEXT[[BR]] 
     93   * (drawback) EdgeKind.SEGMENT has to be more complex to handle the following cases, some of which make more sense to a segment as a whole (in the old solution the responsibilities were spread between OPEN_SEGMENT, CLOSE_SEGMENT and ATOM EdgeKinds): 
     94    * Badness calculation 
     95    * Breaks - part, line and segment break 
     96    * Ascent 
     97    * Descent 
     98    * Gap 
     99    * White space 
     100    * Tracking 
     101    * Drawing 
     102  * Estimation of badness by importance: 
     103   * Characters left (not laid out in the area) 
     104   * Space occupied by the text in the area. Concrete badness factors related to this are: 
     105    * Spacing 
     106    * White extra 
     107    * Ascent 
     108    * Descent 
     109   * Broken word 
     110   * Shrunk tracking 
     111   * Shrunk spacing 
     112 * Calculation of Text Parts for the text chaining 
     113  * Add the following: 
     114   * Method HotTextLayout.canFitInShape and (static method) LayoutBuilder.canFit to check if a text can be flowed into an area 
     115   * Method HotTextLayout.getTextParts and (static method) LayoutBuilder.getTextParts to return the separation of a text into parts that can be flowed into a sequence of areas 
    95116 * Fix of the bug specified at [http://www.sophie2.org/trac/wiki/TEXT_INPLACE_EDITOR_R0#Implementation]: correct Atom.canFit method to pass the atom's height as 4th argument, not the atom's y-position. 
    96  
    97117 
    98118= Implementation =