PageRenderTime 14ms CodeModel.GetById 10ms app.highlight 1ms RepoModel.GetById 1ms 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
  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