Dagnon, Chris wrote: >(Sorry for formatting: this Outlook doesn't add the indents for replying >messages ): > >1. So Fonts are all up in the air. Rats. How possible would it be to have >something based on the name instead of ID? Wondering about an HTML-like >thing to specify preferences - is this possible, and if so do you need >someone to code it?:) In someone's CSS file I'm looking at a string like: > font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; > Okay you're not understanding this. It is based on name. But excel only allows one. I mean we could DO that in HSSF but excel would interperate that as the name of a single font which wouldn't be effective. This is a limititation of Excel.
Look here: http://jakarta.apache.org/poi/hssf/quick-guide.html#WorkingWithFonts The ID is not important to you. Its only a unique identifyer for that instant of that typeface/font. > >As for the HSSFCellStyle.RED example, well, I'm using the released version >(for a project) where 1.5 is the most recent edition, correct? As for >CVSing to your repository... I think I'll hold off on that. > > Its the most recent production release. > >2. Using the Standard palette is good. Yeah users could change it but >that's their problem. > >4. Yeah, making a bunch of fonts and styles is no biggie :) > > Just don't make toooo many of them. Early reports are that there are limitations. Create few and stamp them. >5 & 6. I figured - who knows the magic that goes on inside that MS stuff. > > We're getting closer to knowing every day. Thats why this is fun ;-) -Andy > >-Chris > > > >-----Original Message----- >From: Andrew C. Oliver [mailto:[EMAIL PROTECTED]] >Sent: Friday, May 10, 2002 9:10 AM >To: POI Users List >Subject: Re: HSSF formatting questions > > >Dagnon, Chris wrote: > > > >>Some questions: >> >>1. HSSFFont: Are the font's IDs the same for every machine? If so, is it >>just a matter of someone putting in all the fonts other than Arial as >>constants in this class? >> >> >> >> >Nope. The font ID refers to the font record added. These are >sequential identifiers. The string Font Name "Arial" is NOT guaranteed >to be rendered as such. Meaning if you create an instance of HSSFFont >on your workbook (which will be assigned a new id -- where id = last id > + 1) and assign it the name "Arial" and I bring up Excel on my Unix box >and don't install Arial, chances are it will be rendered in Helvetica or >some other font instead. Same thing happens in Excel if you just assign >a font on one machine and the next doesn't have it. Perhaps HSSFFont >should be HSSFTypeStyle as it equals a Font + its styling, but we shan't >because Microsoft doesn't. It would be more confusing to invent a new >name. In short, HSSFFont's ID is assigned in the same manner as >HSSFSheet's. > > > >>HSSFCellStyle: The javadoc gives a couple examples with colors; >> cs.setFillBackgroundColor(HSSFCellStyle.RED); >> cs.setFillForgroundColor(HSSFSeCellStyle.RED); // Typo! >>But the colors aren't listed in the javadoc as they are for many other >>settings like setFillPattern(). Fortunately they come up in VAJ using >>auto-complete. >> >> >> >This example is no longer valid either. (at least not in > 1.5) You >must now use org.apache.poi.hssf.util.HSSFColor.RED, etc. Please submit >your corrections in "patch" format. Meaning correct them and then >submit a patch (use cvs diff -u) and I shall apply it. > >VAJ...eeew yucky. > > > >>My questions are: >>2. Are the colors constant across all machine settings? >> >> >> >Yes and No. HSSF does not yet support custom pallettes. The Default >pallette (that it supports) is constant accross all Excels and >compatible apps. Custom pallette support is a furture requirement. > > > >>3. Are the colors listed the only choices? >> >> >> >answered above. > > > >>4. There wouldn't happen to be a short-cut/macro to set all cells in a row >>to a certain partial HSSFCellStyle? For example I want to alternate row >>colors but have all with the same font and yet keep the columns' number >>styles the same :) Hmm, yeah, I suppose that would lead to more confusion >>than clarity having it possible to specify at more than the cell's level 8) >> >> >> >You should create 1 HSSFCellStyle for EACH type of style and assign it >to each row. As for some kind of conditional well that sounds like a >good place for a utility class in your application rather than HSSF. > >Example (in my personal pseudocode style): > >Font1 = create HSSFFont... > font1.set ... >Font2 = create HSSFFont... > font2.set ... > >Style1 = create HSSFCellStyle... > style1.set.. > style1.setFont(Font1) > >Style2 = create HSSFCellStyle... > style2.set.. > style2.setFont(Font2) > >for (int k = 0; k < 10; k++) { > >if (k mod 2 != 0) { > set cell style to style 1 >} else { > set cell style to style 2 >} > >} > > > > >>HSSFSheet.setColumnWidth(): I've tried using this a little, and I thought >>the javadoc said that the width parameter was to represent 1/256th of a >>character's width. It's not showing up in that manner (ie. 5*256 shows a >>little more than 4 question mark characters) and I'm wondering if this is >>due to 2 different factors: >>5. That Excel shows some extra space on both sides of a given string inside >>a cell >>6. If the 1/256th is based on a font different from the default. >> >> >> >> >This is basically a "Dunno" -- we read the docs, but the docs are wrong >so in the past I've just created "majik equations" -- equations that >work most of the time but probably only work by coincidence. > >I think you'd need to use the awt.fontmetrics to calculate this size and >then advance the cell width based on that. The catch is that "character >width" is not constant. W is bigger than I in most fonts. So basically >its either an opportunity for someone to nail this down and figure out >how to do it "right" or just play with it until you come up with an >equation that works for your font. > > > >>And if I didn't say it before: Thanks for this product! >> >> >> >> >No problem man. We enjoy doing it. Thanks for helping make it better. > >-Andy > > > >>-Chris >> >>-- >>To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >>For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> >> >> >> >> >> >> > > > > >-- >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > >-- >To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> >For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> > > > > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
