PageRenderTime 31ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/todo/graphic.todo

http://zoop.googlecode.com/
Unknown | 121 lines | 121 code | 0 blank | 0 comment | 0 complexity | d9bc7e0b0987fd12661de644292b7810 MD5 | raw file
Possible License(s): BSD-3-Clause, LGPL-2.1
  1. - steps
  2. + import the pdf module from zend framework
  3. - implement wrapped rich text processing
  4. + parser module
  5. + get ZendPdfContext working
  6. + create an example with an html string that is just some lorum ipsum text with a few <br>s in it
  7. + implement the following as necessary to parse the string
  8. + GraphicDocument extends GraphicDiv
  9. + GraphicDiv
  10. + GraphicTextRun
  11. + verify that the DOM tree is created properly
  12. + write a Zend_Pdf graphic context
  13. - render the div
  14. + impement the following as needed
  15. + GraphicHardBrokenLine
  16. + GraphicSoftBrokenLine
  17. + GraphicTextStyle
  18. + figure out the best way to specify the canvas size
  19. + give the document a size and have have it pass the width down to it's children
  20. + make it actually draw the basic text
  21. + figure out why its drawing the last segment 3 times
  22. + now make it draw correct
  23. + in ZendPdfContext put 0,0 in the upper left corner
  24. - make the measuring stuff actually work so that hard broken line can break into softbrokenlines
  25. - make the example have more text and in a smaller area for testing this
  26. - make sure it is wrapping properly with the default styles
  27. - handle left/right whitespace issues properly
  28. - figure out how to map raw xhtml style onto the attributes for the various GraphicObject descendants
  29. - more advanced text features
  30. - alignment (left, center, right)
  31. - make all kinds of text styles work
  32. - have the ability to "fit" text to a space
  33. - for instance check it at a certain size and shrink the text size if it doesn't fit
  34. - you might need to be register callback to handle some situations that can't be described by data alone
  35. - automatic replacement of certain bad characters like the crazy dashes
  36. - repeating
  37. - allow you to repeat stuff in individual blocks/pages
  38. - allow you to skip certain pages
  39. - allow you to start on any page
  40. - have some facility for saying: Page curPage of totalPages
  41. - release a new version for the Zend_Pdf people
  42. - update the front page to also refer people to Zend Framework
  43. - document our inclusion of some parts of Zend Framework
  44. - add a copyright notice
  45. - choose a licence that is compatible with Zend_Pdf (new bsd?)
  46. - build new api docs
  47. - build a new tarball
  48. - post it to the google code site
  49. - possibly set up a site showing the code and the results
  50. - maybe even set up a demo where they can type in their text and have it generate a pdf
  51. - notify the zend framework mailing list
  52. - create GuiGraphic and GuiPdf
  53. - extend Gui and get the xml
  54. - fully modular parser
  55. - doesn't understand any tags
  56. - each tag tag type must load a parser module
  57. - creates DOM objects
  58. - enhance GraphicDiv
  59. - breaking across pages (with proper widow/orphan support)
  60. - make sure borders, margins, padding, backgrounds etc work (use dompdf test to check yourself)
  61. - float attributes???
  62. - css
  63. - parse css info in the header
  64. - apply styles to the DOM
  65. - make sure you follow proper cascading rules
  66. - then tables
  67. - borders, padding, margins, backgrounds, etc
  68. - column sets, document,
  69. - ...
  70. - charts and graphs???
  71. - controlled rendering
  72. - parse xml, yaml, html etc, but whitelist what tags/attributes will be preserved
  73. - then send the results back to original form to be rendered by a browser or render them as is
  74. - performance
  75. - are HardBrokenLines broken into SoftBroken lines over and over again? If so can you do it once and cache the results?
  76. - how intensive is calcing the char widths? can that be cached?
  77. - focus on the weaknesses of the current implementation
  78. - divs
  79. - vertical centering
  80. - borders
  81. - spacing
  82. - background colors/patterns/images
  83. - breaking across pages
  84. - tables
  85. - borders
  86. - padding
  87. - margin
  88. - spacing - what is this margin and padding are both different kinds of spacing
  89. - colspan
  90. - rowspan
  91. - breaking across pages
  92. - widow / orphan support
  93. - columns widths need to be consistent across rows even if they are not explicitly specified or are specified in rows
  94. other than the first one
  95. - allow you to use lists and divs instead of tables for layout and association (including for widow / orphan support)
  96. - debugging
  97. - make it easy to spit out:
  98. - the produced xml file
  99. - a tree representing the object structrure that was created
  100. - maybe just make it something you can add into the url???
  101. - parser
  102. - try to conform as best you can to the html/css specs
  103. - modulerize the parser so that each element is part of some module, keep core parser very modular
  104. - use svg for other graphics
  105. - shapes, lines, etc
  106. - make sure you can have point level precision with anything you might want to draw
  107. - page breaks
  108. - let you specify the page size for each page break
  109. - why does it not hanlde xml/html entities like &nbsp;
  110. - make sure that styles always apply to exactly what the dom indicates they should apply to
  111. - documentation
  112. - from the very beginning have a format for documenting the syntax of the xml
  113. - document first how you want it to work
  114. - then make it work like the docs say it will
  115. - css
  116. - there isn't much point in working towards compatibility with HTML if you don't have CSS support
  117. - test suites
  118. - http://www.w3.org/Style/CSS/Test/CSS1/current/
  119. - http://www.google.com/search?client=safari&rls=en&q=html+div+css+examples&ie=UTF-8&oe=UTF-8
  120. - http://www.google.com/search?client=safari&rls=en&q=css+test+suite&ie=UTF-8&oe=UTF-8
  121. - http://www.google.com/search?client=safari&rls=en&q=html+table+css+examples&ie=UTF-8&oe=UTF-8