todo.svn-base

来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· SVN-BASE 代码 · 共 178 行

SVN-BASE
178
字号
heh. bug in pdfselect on compressed object streams. gc takes forever, no objects remain...lazy nametreelazy pagetreebuiltin standard cmap files (?)put unicode strings in text object, not font (a la metro)xml parserunicode normaliserpath stroke/dash/flatten work on real path structturn into gel as second step after stroke/flattenadd intersector for metro union/xor/difference stuffimage rescale to exact size instead of by integer quantaspublic / private apifix the shading code:	3 levels of detail patch mesh (quad, patch, tensor)	subdivide to triangles on the fly	draw tris as before	reuse more code in the parsing	error cleanup--- WORLD ---the fitz world is:	the set of resources:		trees, fonts, images, shades, colorspaces	the list of pages:		references to tree resources	opaque / transparent / invisible ?input device drivers create a fitz world from a document	readps -- use ghostscript	readpdf -- use mupdf	readmetro -- use samus	the mapping from file -> pages and resources		internal to the driver, nothing fitz cares or knows about		should be lazy -- loaded on an as-needed basis		should be reference counted -- can free and reload resources	minimal api (that works for *all* input drivers)		open(file)		close()		nextpage()	extended api (that may or may not work optimally)		countpages()		loadpage(number)output drivers take a fitz world and produce whatever	raster	writeps	writepdf	writemetro--- WORLD API ---Fitz World APIsTrees:	fz_tree	fz_node with subclasses		leafs:			fz_solidnode			fz_imagenode			fz_shadenode			fz_pathnode			fz_textnode		branches:			fz_transformnode			fz_overnode			fz_masknode			fz_blendnode		# for pdf 1.4 and pcl rops			fz_linknode			fz_metanode	construction api	navigation apiColorspaces:	fz_colorspace		fz_devicecolor	(gray, rgb, cmyk)		fz_iccprofile	(icc profile colorspace)		fz_separation	(how do we do alternate tint functions?)Images:	fz_image		fz_jpegimage	# jpeg-compressed		fz_tileimage	# 1,8,16 bit image chopped into tiles		...or...		fz_monoimage	# 1-bit image		fz_byteimage	# 8-bit image		fz_wordimage	# 16-bit imageShades:	fz_shade		mesh of quads, patches, tensorsFonts:	fz_font		fz_fakefont	# substitute fonts		fz_t3font	# sub-trees define glyphs		fz_psfont	# cff postscript font		fz_ttfont	# truetype font--- OLD ---immediate plan:	* clean up and 'freeze' public api	* get font bbox from fontdescriptor if available	* refactor image loading	* refactor xref loading/repair	* restructure build.c and interpret.c (ftb vs csi)	* fix the colorspace/pattern/shading material mess	* font loading:		- configuration... where to find system files (asian font archive?)		- system fontfile + cmap store		- embedded fontfile store		- split type3 and ftfont malloc (dont waste t3 charprocs on ft fonts)		- make ftfontfile separate struct w/ refcounting		- refactor font loading more. simple/cid/type3 have too much in common.	* structure low/high level stuff		- rewrite outline parser		- implement comments	* clean high-level api	- go through spec and check all features!	- altivec optimizetransparency (v2)	- everything!colorspace conversions (v2)	- fast color cubes	- proper colorspace conversions	- gamut compression	- extended render intentsimage rendering (v2)	- tiles	- dct case	- better filter than box	- lazy decodingrendering	- fix glyphcache evictlast	- bbox culling per glyph	- render cache (link-nodes and scaled images and colorspaced shades)fz_optimizetree()	- error & memory	- concatenate chained transforms	- remove identity transformsfor filters:	validate ahxd pushback	go through eof responsibility	be more defensive of api user errors	jbig2 rewrite	dctencode params	dctdecode app marker	jpxd rewrite (or do special trick to load into image directly)

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?