You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by "gkk (JIRA)" <ji...@apache.org> on 2013/01/16 01:36:12 UTC

[jira] [Created] (FLEX-33351) mx menubar problems using embedded font

gkk created FLEX-33351:
--------------------------

             Summary: mx menubar problems using embedded font
                 Key: FLEX-33351
                 URL: https://issues.apache.org/jira/browse/FLEX-33351
             Project: Apache Flex
          Issue Type: Bug
          Components: mx: Menu Bar
    Affects Versions: Adobe Flex SDK 4.5.1 (Release)
         Environment: FlashBuilder 4.6, SDK 4.5.1
            Reporter: gkk


1. Copy/paste the below Flex application into your IDE of choice (I'm using FB4.6, with Flex SDK 4.5.1).
2. Copy Arial.ttf from your system library folder into the workspace folder you've copied this code.
3. Run the application.
4. Observe that when you select the checkbox to enable variableRowHeight, that the menuBar does not allow enough vertical height to fit the menu options. This occurs for all pull-down menus, although it's easier to see when there are a lot of options (e.g. click on "File" pull-down and position your mouse over the last option that appears).
5. Also observe, regardless of variableRowHeight setting, there are visual artifacts in the menubar. For example, click on "Edit1", and observe a gray vertical line running about 10 pixels to the left of the menu-bar's pull-down text area. The right-side of the menubar pull-down area has a white pixel border mistakenly placed between the right-edge of the menubar and the shadow region.
6. Remove `fontFamily="arial_mx"` from the menubar's properties, run the program again, and observe the menubar looks perfect.
7. As a side note, however, there appears to be functional bug now, in that when you click, for example, the first item in a pull-down menu (e.g. "File" then "New" in my example below), then click outside the menu to collapse the menubar, the click again the same pull-down "File" selection, then mouse-over the "New" option (which you previously clicked), Flex doesn't highlight to show the mouse is hovering over "New".).
8. As another aside, I implemented the spark menuBar component from here: https://github.com/badu/SparkComponents
This did remove the visual artifacts, perhaps because there's no dropshadow. However, the embedded text appears more blurrly than the already somewhat blurry embedded text in Adobe's spark (e.g. dataGrid) components. Zooming in on the text using my Mac's DigitalColor Meter, I can see that Adobe's text, in the darkest portion, is truly black (0x000000) whereas the new spark MenuBar's embedded spark text (same font settings) is gray (0x626262) (I zoomed in on a straight letter "l" as in "lobster"). The darkest part of the spark menubar text seems to spill into neighboring pixels, making it appear blurry. 


    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" 
			   >
	<!-- modified from: http://blog.flexexamples.com/2010/02/19/setting-a-variable-row-height-on-an-mx-menubar-control-in-flex/ -->
	
	<fx:Script>
		<![CDATA[
			import mx.events.MenuEvent;
			
			protected function mBar_menuShowHandler(evt:MenuEvent):void {
				evt.menu.variableRowHeight = ch.selected;
				evt.menu.invalidateSize();
			}
		]]>
	</fx:Script>
	
	<fx:Style>
		@namespace s "library://ns.adobe.com/flex/spark";
		
		@font-face {
			font-family:arial_mx;
			src:url("Arial.ttf");
			embed-as-cff:false;
		}
		
	</fx:Style>
	
	<s:controlBarContent>
		<s:CheckBox id="ch" label="variableRowHeight" />
	</s:controlBarContent>
	
	<mx:MenuBar id="mBar" 
				labelField="@label"
				horizontalCenter="0" top="20"
				menuShow="mBar_menuShowHandler(event);"
				fontFamily="arial_mx">
		<mx:dataProvider>
			<s:XMLListCollection>				
				<fx:XMLList xmlns="">
					<menu label="File">
						<item label="New" />
						<item label="Open" />
						<item label="Save" />
						<item label="Save As" />
						<fake type="separator" />
						<item label="Exit1" />
						<item label="Exit2" />
						<item label="Exit3" />
						<item label="Exit4" />
						<item label="Exit5" />
						<item label="Exit6" />
						<item label="Exit7" />
						<item label="Exit8" />
						<item label="Exit9" />
						<item label="Exit10" />
					</menu>
					<menu label="Edit1">
						<item label="Cut" />
						<item label="Copy" />
						<item label="Paste" />
						<fake type="separator" />
						<item label="Undo" />
						<item label="Redo" />
						<fake type="separator" />
						<item label="radio button" type="radio" toggled="true" />
						<item label="check box" type="check" toggled="true" />
					</menu>
					<menu label="Edit2">
						<item label="Cut" />
						<item label="Copy" />
						<item label="Paste" />
						<fake type="separator" />
						<item label="Undo" />
						<item label="Redo" />
						<fake type="separator" />
						<item label="radio button" type="radio" toggled="true" />
						<item label="check box" type="check" toggled="true" />
					</menu>
					<menu label="Edit3">
						<item label="Cut" />
						<item label="Copy" />
						<item label="Paste" />
						<fake type="separator" />
						<item label="Undo" />
						<item label="Redo" />
						<fake type="separator" />
						<item label="radio button" type="radio" toggled="true" />
						<item label="check box" type="check" toggled="true" />
					</menu>
				</fx:XMLList>	
			</s:XMLListCollection>
		</mx:dataProvider>
	</mx:MenuBar>
    </s:Application>


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira