How to use Text Layout Framework in Flash CS3?
Hi,
I perferctly now how to get TLF to work in CS4.
As far as I know, the the base code is in AS3 so I should be able to locate the classes in CS3 and use it in Flash CS3.
I appreciate if there is anyone who can help me with this?
I'm not that knowledgeable about Flash Pro, however, I'd be quite surprised if you could make this work. CS4 added Flash Player 10 support. That includes a compiler update for Vector - a new AS3 feature. Minimally you'll have to get Flash CS3 to generate FP10 level content and compile with the playerglobals.swc from FP10. If you can get that far than adding textLayout.swc to your project should be straightforward.
Maybe someone else has an idea.
Hope that helps,
Richard
Similar Messages
-
How to create a table using Text Layout Framework?
How to create a table using Text Layout Framework? I meen real tables - like in HTML.
Cell as indipendant TLF should work, I have created my table using same approach and works fine for me ... this is where it is
http://apps.live-documents.com/docs/openWebDoc.do?docId=1480607
Regards
Raf -
Can I use Text Layout Framework with Flex 3 SDK?
Greetings,
I have to develop a complex custom widget, with custom text wrapping behaviour. Text Layout framework seem to offer fine level of control, but we are trying to keep our project in Flash player 9, and therefore we are using Flex 3 sdk.
Can I use the framework with flex sdk 3 and therefore flash player 9?
Best Regards
SerefFor that you need to install flex sdk 3.5 framework and choose your defauls framework to flex 3.5 it will work and as well instal flash player 10
-
Revision: 4634
Author: [email protected]
Date: 2009-01-22 17:38:56 -0800 (Thu, 22 Jan 2009)
Log Message:
First part of glue code for allowing Halo components to use the new Text Layout Framework, in order to get functionality such as bidirectional text.
Background:
TLF is making this possible by implementing a TLFTextField class. It is a Sprite that uses TLF to implement the same properties and methods as the legacy TextField class in the Player. Thanks to the createInFontContext() bottleneck method in UIComponent, it can be used by a properly-written Halo component (such as those in Flex 3) without any modifications to the component.
Note: Text should render similarly -- but is unlikely to render identically -- when a component uses TLFTextField vs. TextField. The width and height may be different, affecting layout; text could wrap differently; etc. This is a fact-of-life based on the fact that TLF/FTE and TextField are completely different text engines.
Whether a Halo component uses TLF or not to render text will be determined in Flex 4 by a new style, textFieldClass. (Gumbo components always use TLF.)
TLFTextField is currently only partially implemented. It does not yet support scrolling, selection, editing, multiple formats, or htmlText. Therefore it can only be used for simple display text, such as a Button label.
Details:
The TextStyles.as bucket 'o text styles now includes a non-inheriting textFieldClass style. It can be set to either mx.core.UITextField or mx.core.UITLFTextField. These are the Flex framework's wrapper classes around the lower-level classes flash.text.TextField (in the Player) and its TLF-based workalike, flashx.textLayout.controls.TLFTextField.
The global selector in defaults.css currently sets it to mx.core.UITextField using a ClassReference directive. For the time being, all Halo components will continue to use the "real" TextField.
The new UITLFTextField is a copy of UITextField, except that it extends TLFTextField instead of TextField. This class has been added to FrameworkClasses.as because no classes in framework.swc have a dependency on it. It will get soft-linked into applcations via the textFieldClass style.
The TLFTextField class currently lives in a fourth TLF SWC, textLayout_textField.swc. This SWC has been added to various build scripts. The external-library-path for building framework.swc now includes all four TLF SWCs, because UITLFTextField can't be compiled and linked without them. However, since they are external they aren't linked into framework.swc.
Properly-written Halo UIComponents access their text fields only through the IUITextField interface, and they create text fields like this:
textField = IUITextField(createInFontContext(UITextField));
(The reason for using createInFontContext() is to support embedded fonts that are embedded in a different SWF.)
The createInFontContext() method of UIComponent has been modified to use the textFieldClass style to determine whether to create a UITextField or a UITLFTextField.
With these changes, you can now write code like
to get two Buttons, the first of which uses UITextField (because this is the value of textFieldClass in the global selector) and the second of which uses UITLFTextField. They look very similar, which is good!
Currently, both Buttons are being measured by using an offscreen TextField. A subsequent checkin will make components rendering using UITLFTextField measure themselves using an offscreen TLFTextField so that measurement and rendering are consistent.
QE Notes: None
Doc Notes: None
Bugs: None
Reviewer: Deepa
Modified Paths:
flex/sdk/trunk/asdoc/build.xml
flex/sdk/trunk/build.xml
flex/sdk/trunk/frameworks/projects/framework/build.xml
flex/sdk/trunk/frameworks/projects/framework/defaults.css
flex/sdk/trunk/frameworks/projects/framework/src/FrameworkClasses.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UIComponent.as
flex/sdk/trunk/frameworks/projects/framework/src/mx/styles/metadata/TextStyles.as
Added Paths:
flex/sdk/trunk/frameworks/projects/framework/src/mx/core/UITLFTextField.asMany of your points are totally legitimate.
This one, however, is not:
…To put it another way, the design of the site seems to be geared much more towards its regular users than those the site is supposedly trying to "help"…
The design and management of the forums for more than five years have driven literally dozens of the most valuable contributors and "regulars" away from the forums—permanently.
The only conclusion a prudent, reasonable person can draw from this state of affairs is that Adobe consciously and deliberately want to kill these forums by attrition—without a the PR hit they would otherwise take if they suddenly just shut them down. -
Unable to apply embedded font swf to text in text layout framework
Hello,
We have created a swf for a given font (for e.g., Calibri.swf) which contains all the styles (Regular, Italic, Bold, BoldItalic).
We have created a xml which lists the name of the font and the corresponding swf file path. The names from the xml are loaded into a combo box in the application.
When we try to apply the selected font to a text in the text layout framework, it does not apply the same. It sets the font to default "Times" font.
Following is a snippet of code to apply the font to the text:
private function selectFont(fontXML:XML):void {
var path:String = fontXML.@source;
var myEvent:IEventDispatcher = styleManager.loadStyleDeclarations(FlexGlobals.topLevelApplication.url.substring(0,FlexGl obals.topLevelApplication.url.lastIndexOf("/"))+"/"+path);
myEvent.addEventListener(StyleEvent.COMPLETE, function(event:StyleEvent):void{
var editManager:EditManager = textFlow.interactionManager as EditManager;
var itextLayout:TextLayoutFormat = new TextLayoutFormat();
itextLayout.fontSize = 20;
var fontName:String = fontXML.@name;
Alert.show(fontName);
itextLayout.fontFamily = fontName;
Alert.show( "itext = " + itextLayout.fontFamily);
editManager.applyFormat(itextLayout,itextLayout,itextLayout);
var flowLeafElement:FlowElement = textFlow.findLeaf(editManager.anchorPosition) as FlowElement;
editManager.changeStyleName(fontName,flowLeafElement);
Can anyone please let us know what is missing in the implementation?
Thanks in advance.
VikramMy recommendation: unless you really care about ISWFContext implementations and the application domain issues, ignore Alex's post about embedded fonts.
It is a nice discussion about the inner workings of the domain and security of how this works but it is imho broken and is an insane concept to require an ISWFContext to just use an embedded font. It also breaks runtime CSS loading that has fonts embedded in it because the Flex compiler (last I checked) was also busted – it doesn't include the function necessary to create within context the font embed so that it may be applied. You can't create an ISWFContext with a compiled CSS file.
These issues were introduced in the last Flex SDK beta before FB4 was released in final form. There are multiple bugs logged against the issue of applying loaded font files to TLF text (in short, SWFContext is broken and you have to override GlobalSettings.resolveFontLookupFunction to return embedded or null, all the time).
Here's some more details to get you started - with links to at least one of the SDK bugs that were filed:
http://forums.adobe.com/message/2656152
For example:
import flashx.textLayout.elements.GlobalSettings;
import flash.text.engine.FontLookup;
GlobalSettings.resolveFontLookupFunction = function makeValid():String { return FontLookup.EMBEDDED_CFF };
And you may need to do this after your font is loaded:
yourTextBlock.textFlow.invalidateAllFormats();
Disclaimer: I haven't seen the latest Flex SDK release to see if this was fixed. I have an AIR application with native process that builds embedded font SWF files for use and stub code for FB4 usage but haven't updated to the latest SDK yet to see if it's working properly.
Anyhow, your best bet is to look at the Flash Builder forums. I think this is/was a Flex team issue, not TLF. -
Text Layout Framework Bold & Italic don't work on Linux
Hi,
The bold and Italic in Text Layout Framework is not working on Linux with Flash Player 10.1.85.3. Please verify at this link http://labs.adobe.com/technologies/textlayout/demos/ on Linux, by trying to do bold & italic to some text.
is this a problem with Flash Player 10 ?
Any help is appreciated.
Thanks,
AviThanks Richard,
The Bold/Italic variant of the font should be present on the client's machine. Now I am finding solution to how to display the fonts which Bold/Italic variant are not present on the client's machine. One way can be embedding the fonts. Anythings else?
Avi -
Text Layout Framework columncount Undo problem
Text Layout Framework columncount Undo problem ::
The number of times columncount is changed it gets applied to textflow
and those number of operation is stored in undoStack(UndoManger).But when i
undo it, it comes back to intial state, without undoin step by step.
I have given my source code..
Y so or any other alternative to achieve this..
Thanx in advance..
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" creationComplete="init()">
<fx:Script>
<![CDATA[
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.conversion.ITextImporter;
import flashx.textLayout.conversion.TextConverter;
import flashx.textLayout.edit.EditManager;
import flashx.textLayout.edit.IEditManager;
import flashx.textLayout.edit.ISelectionManager;
import flashx.textLayout.edit.SelectionState;
import flashx.textLayout.elements.InlineGraphicElement;
import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.TextFlow;
import flashx.textLayout.events.SelectionEvent;
import flashx.textLayout.events.StatusChangeEvent;
import flashx.textLayout.formats.Direction;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.undo.UndoManager;
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.controls.CheckBox;
import mx.events.FlexEvent;
import mx.events.SliderEvent;
import spark.components.Group;
import spark.components.TextArea;
import spark.core.SpriteVisualElement;
public var directions:ArrayCollection = new
ArrayCollection(
{label:"Left-to-Right",
data:Direction.LTR},
{label:"Right-to-Left",
data:Direction.RTL}
private var _textContainer:SpriteVisualElement = null;
private static const textInput:XML = <TextFlow
xmlns="http://ns.adobe.com/textLayout/2008">
<div>
<p><span>The Text Layout Framework is
an extensible library, built on the new text engine in Adobe Flash Player 10,
which delivers advanced, easy-to-integrate typographic and text layout features
for rich, sophisticated and innovative typography on the web.
Some benefits provided by this framework
include: 1) rich typographical controls, including kerning, ligatures,
typographic case, digit case, digit width and discretionary hyphens
2) cut, copy, paste, undo and standard keyboard
and mouse gestures for editing 3) selection, editing and flowing text across
multiple columns and linked containers
4) bidirectional text, vertical text and over
30 writing scripts including Arabic, Hebrew, Chinese, Japanese, Korean, Thai,
Lao, Vietnamese, and others
5) vertical text, Tate-Chu-Yoko (horizontal
within vertical text) and justifier for East Asian typography. Try editing this
text and playing with the options below! Notice an inline image is also
included.</span></p>
</div>
</TextFlow>;
private var _textFlow:TextFlow;
private function init():void {
_textContainer = new SpriteVisualElement();
canvas.addElement(_textContainer);
var importer:ITextImporter =
TextConverter.getImporter(TextConverter.TEXT_LAYOUT_FORMAT);
_textFlow = importer.importToFlow(textInput);
_textFlow.flowComposer.addController(new
ContainerController(_textContainer, canvas.width-40, canvas.height));
_textFlow.interactionManager = new
EditManager(new UndoManager());
_textFlow.flowComposer.updateAllControllers();
private function changeNoColumns(event:Event):void {
var tlf:TextLayoutFormat = new
TextLayoutFormat();
tlf.columnCount = cols.value;
tlf.columnGap = 15;
tlf.direction = direction.selectedItem.data;
var em:EditManager =
_textFlow.interactionManager as EditManager;
em.selectAll();
(_textFlow.interactionManager as
EditManager).applyFormat(tlf,tlf,tlf);
_textFlow.flowComposer.updateAllControllers();
protected function
undo_clickHandler(event:MouseEvent):void
var em:EditManager =
_textFlow.interactionManager as EditManager;
trace("Can undo " + em.undoManager.canUndo() +
" can redo " + em.undoManager.canRedo());
em.undo();
protected function
redo_clickHandler(event:MouseEvent):void
var em:EditManager =
_textFlow.interactionManager as EditManager;
trace("Can undo " + em.undoManager.canUndo() +
" can redo " + em.undoManager.canRedo());
em.redo();
]]>
</fx:Script>
<s:Panel title="Text Layout Framework Sample" width="100%"
height="100%">
<s:layout>
<s:VerticalLayout paddingTop="8" paddingLeft="8"/>
</s:layout>
<s:VGroup>
<s:Group id="canvas" width="600" height="200" />
<s:HGroup width="100%" verticalAlign="middle">
<s:Label text="# Columns:"/>
<s:NumericStepper id="cols" minimum="1"
maximum="20" snapInterval="1" change="changeNoColumns(event)" />
<s:Label text="Text Direction:"/>
<s:DropDownList id="direction"
change="changeTextDirection(event)" dataProvider="{directions}"
selectedItem="{directions[0]}"/>
<s:Button label="Undo"
click="undo_clickHandler(event)"/>
<s:Button label="Redo"
click="redo_clickHandler(event)"/>
</s:HGroup>
</s:VGroup>
</s:Panel>
</s:WindowedApplication>It cannot be reproduced with TLF 3.0 + SDK 4.5.
-
Rotated ASCII characters overlap in Text Layout Framework with specific Japanese/Chinese fonts
I am trying to layout rotated text with Text Layout Framework. Mostly okay, but when it comes to specific Japanese/Chinese fonts, problem happens - "hankaku" alphanumeric characters(in other words, ASCII characters) overlap in those fonts. (Full-width "zenkaku" characters have no problem, though)
When "HG丸ゴシックM-PRO" or "HG正楷書体-PRO" are specified as fontFamily(both come with Office - common fonts in Japanese Windows environment), characters are wholly overlapped.
When "SimSun", "NSimSun" or "SimHei" are specified as fontFamily(Chinese fonts, all come with Japanese Windows XP), characters are slightly overlapped.
If anyone knows a solution or a workaround to this, please let me know.
Sample code:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initapp();">
<mx:Script>
<![CDATA[
import flashx.textLayout.container.ContainerController;
import flashx.textLayout.elements.ParagraphElement;
import flashx.textLayout.elements.SpanElement;
import flashx.textLayout.elements.TextFlow;
import flash.text.engine.TextRotation;
import mx.core.UIComponent;
private function initapp():void
var container:UIComponent = new UIComponent();
var textflow:TextFlow = new TextFlow();
var controller:ContainerController = new ContainerController(container);
var paragraph:ParagraphElement = new ParagraphElement();
var span:SpanElement = new SpanElement();
textflow.fontFamily = "HG丸ゴシックM-PRO";
textflow.textRotation = TextRotation.ROTATE_270;
textflow.fontSize = 72;
textflow.color = 0;
span.text = "abcdefg";
controller.setCompositionSize(this.unscaledWidth, this.unscaledHeight);
paragraph.addChild(span);
textflow.addChild(paragraph);
textflow.flowComposer.addController(controller);
textflow.flowComposer.updateAllControllers();
this.addChild(container);
]]>
</mx:Script>
</mx:WindowedApplication>
Warm regards,
Yuushimamalachite00 wrote:
> Thanks David. So is there any way around having to embed
the font when
> rotating text?
Not that I know of. Your problem is that you're loading the
content
dynamically, so you have no idea what it will contain.
There's normally
no need to embed Japanese fonts for a Japanese audience,
because they
already have the main fonts, such as Mincho, Gothic, or Osaka
on their
machine. Perhaps you'll just have to give up the idea of
rotation.
David Powers
Adobe Community Expert
Author, "Foundation PHP for Dreamweaver 8" (friends of ED)
http://foundationphp.com/ -
Problem in running Text Layout Framework online demo
Hi
I am running textlayout_example but while compile itself showing error
1.1061: Call to a possibly undefined method selectRange through a reference with static type flashx.textLayout.edit:ISelectionManager
2.1120: Access of undefined property TextConverter.
3.Could not resolve <s:Application> to a component implementation
4.1119: Access of possibly undefined property INLINE_GRAPHIC_STATUS_CHANGE through a reference with static type Class.
Am using flexbuilder 3 with flexsdk4.0 and flashplayer 10.0.32. I dono what was d problem... Could anyone know about to fix.From a distance it sounds like there is more than one version of the textLayout swc in your compile path. Looks like you have the spark components so there is one version included with the Flex SDK.
Either that or your examples are out of date with respect to the textLayout swc you have. The releasenotes have details on the API changes.
The most recent examples are available here:
http://opensource.adobe.com/wiki/display/tlf/Text+Layout+Framework
Hope that helps,
Richard -
InDesign export Text Layout Framework Markup
hi there
as described in title, i'm having troubles exporting an InDesign comp in a decent way
my quesitons are:
1 - It exists a DTD for Text Layout Framework Markup Language ?
2 - Is there an export module that make me able to do it automatically? because tagging all the elements is a pain, and there is just a little documentation about the markup language
If not, are there any plans to do it?
I personally think that an export module will be very helpful and will score another goal on products' integration
Thanx for your timeRegarding a DTD see this post http://forums.adobe.com/message/2221283#2221283
I can't comment on any plans for ID to export TLF markup. Definitely a good idea.
Thanks,
Richard -
How about a 'Text Layout Framwork' category on Adobe Labs Ideas in the Flex SDK section?
I like 'Adobe Labs Ideas', it's far more accessible/inviting then "Adobe Bugs and Issues" (JIRA).
Therefor I would like to suggest a new category 'Text Layout Framework' under the Flex SDK section or even it's own section (after all TLF isn't Flex only).Am I right, that this is a tricky question? No hints or attempts so far. Really no-one out there?
I guess I am not the only one who would like to extend the Importer (Exporter) by new tags, FlowElement's and FlowLeafElement's.
Best regards
Masteradi -
How to use the adapter framework sample_ra.
hi..
I have deployed the sample_ra adapter framework code through NWDS. Now how to use the adapter framework into my scenario.Please answer elaborately .How to call this adapter framework while configuring the communication channel.hi
Follow these links I think it will helps you
http://www.sap-hefte.de/download/dateien/1241/140_leseprobe.pdf
NWDS and generate java proxy
http://help.sap.com/saphelp_nw2004s/helpdata/en/32/43d84072378031e10000000a1550b0/content.htm
http://msdn2.microsoft.com/en-us/library/ms944509.aspx
thanks and regards
santosh -
How to use text-to-speech so that my text messages are read to me in the car?
How to use text-to-speech so that my text messages are read to me in the car?
I have the same question but I have iPhone 5
-
How do I update Java for Adobe Flash CS3?
Hi,
When I ran Secunia Software Inspector today it told me that
the version of Java I have installed on my computer is out of date.
It tells me that it is finding 3 out-of-date files:
Once here:
C:\Program Files\Java\jre1.6.0_04\bin\java.exe
Twice here:
C:\Windows\System32\java.exe
and three times here:
C:\Program Files\Adobe\Adobe Flash CS3\JVM\bin\java.exe
I updated Java via the Sun website and consequently the first
and second warnings disappeared when I reran the Software
Inspector.
The software inspector however is still finding an
out-of-date Java version here:
C:\Program Files\Adobe\Adobe Flash CS3\JVM\bin\java.exe
Question is: How do I update Java for Adobe Flash CS3?
Is it adequate to copy the updated file "java.exe" from
"C:\Program Files\Java\jre1.6.0_04\bin\" to "C:\Program
Files\Adobe\Adobe Flash CS3\JVM\bin\" or do I need to do anything
else?
Any help will be much appreciated.Hi
I have the same problem of you, and the same dont find a
solution. Me it's Kaspersky Anti Virus (AV) which find this
problem.
So (and I dont know if this solution is perfect), but I open
Flash CS3 with the Java update choiced and apparently Flash
fonctionnely well and Kaspersky dont find this
prob now. But I dont never use Java in Flash (or without that
I know that..), and same, I dont know at what Java is used in Flash
I think that "JRE v 1.6.0_04" and more recent Java version is
not good, because it's not quite the same Java application that in
Flash CS3, In Flash CS3 it's "J2RE" and
not "JRE".
The history of all Java versions (and this) is here (
http://java.sun.com/products/archive/)
(but in all this versions... seriousely it's a true shambles !)
If you want the last version for J2RE in this archives it's v
1.4.2.18 but the last version is J2RE 1.4.2.19 but dont again in
this archives
(search on Java site, maybe first page ? I dont remember
where I to find it...). But the problem... it's that this last
version (19) is always detected bad by my AV...
So I decide to use just the next version (v 1.5) and last
version in this series (in archives site) which is the "JDK/JRE -
5.0 v 5.0.16" but again named "Java 2 Platform
Standard Edition (J2SE) 5.0 Update 16" in this dowload next
archives page
http://java.sun.com/products/archive/j2se/5.0_16/index.html),
so well again named "Java 2" in this page (that which dont
the case for the equivalent same download page for Java 6...)
(Choice "JRE 5.0 Update 16" in this page)
For instal "JRE 5.0 Update 16":
1) Supp all files and folders in "JVM" (Java Virtual Machine)
folder in Flash CS3 (but dont supp this folder, empty now) and save
this contents in archive in you have
affraid.
2) dl "JRE 5.0 Update 16", directly in this page if you want:
(https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/View ProductDetail-Start?ProductRef=jre-1.5.0_16-oth-JPR@CDS-CDS_Dev
eloper)
3) In install, choice "personal instal" (or +/- the same
terms) and choice the "JVM" folder of you Flash CS3
and AV dont detect this version same a bad file -
How do I use a Flex swc in Flash CS3?
My engineering team has used Flex to create a nice little swc
for me to use inside of Flash CS3, but now I'm having trouble
finding any documentation on how to actually import it. Placing it
in the Components folder doesn't work, as it's not recognized by
the Components window (either as an AS2 or AS3 swc). Is it even
possible to use swcs from Flex in Flash? Thank you very much for
the help.
-- JeremyUse these links
Modular Applications
http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7f22.html
Creating Flex Libraries
http://help.adobe.com/en_US/Flex/4.0/UsingFlashBuilder/WS6f97d7caa66ef6eb1e63e3d11b6c4d0d2 1-7fe6.html
-Pramod
http://www.flexmycode.com
Maybe you are looking for
-
TableView - How to update a running balance column after any other column in the view is re-sorted
To keep this simple and to illustrate a problem that I am trying to solve let's say we have a domain class that contains an income per day. This class has two persistent properties - populated from a database table - date and income. And there is one
-
Dear Professionals , I Just want to confirm that whether BAPI "BAPI_GOODSMVT_CREATE " will do the goods receipt ( MB01 ) for the subcontracting PO with batch management. Since I will be passing only 101 mvy type in BAPi, will the system automatically
-
Can connect to skype but not subscription
I can connect to my account but I cannot connect to used my suscription I can not make any calls Post transferred from outdated, irrelevant thread to create new topic. Subject/title edited accordingly.
-
Drag and Drop between JTree and another component
Hi, I have searched the forum for answer to this question but am not sure I found something similar to this. So, please help me out on this. I have a JTree and a JPanel, which basically shows images (as thumbnails) for the child nodes of one node in
-
External monitor for Retina Macbook Pro
Hello,i want to buy an external monitor for my late 2013 rMBP.I tried two models (Dell U2414H and LG 23MPQ65-P),none of them worked perfectly.On both monitors colors were washed, without contrast, the font was blurry.So i decided to return the monito