MetaDesign Solution’s IndicPlus adds new complex script capabilities to InDesign and Illustrator (CS2, CS3,CS4 and CS5 Suites). Languages include Arabic, Hebrew, and Farsi, as well as many Indic and South-East Asian languages
MetaDesign Solutions has always focused on developing customized plug-ins for various Adobe Products which increase the productivity and efficiency of the end-users.
IndicPlus is a linguistic plug-in from MetaDesign Solutions which makes both InDesign and Illustrator render complex scripts, i.e. , IndicPlus plug-in adds to InDesign and Illustrator the most needed support for additional languages.
Languages suported in InDesign CS2, CS3
By installing IndicPlus in InDesign, one can correctly type Asian complex scripts like Hindi, Tamil, Gujarati, to name a few. There is no other solution available in the world which makes InDesign support complex scripts in the CS2 or CS3 suite. Not only is IndicPlus available for the InDesign CS2,CS3 release versions, it is also available for InDesign Server CS2,CS3 versions.
"The algorithm used in IndicPlus for the InDesign CS2/CS3 versions is quite complex. You have to take care of a lot of things while working with complex scripts in InDesign. The matras and conjunctions have different placement and visual rules in different complex scripts like Hindi and Tamil. However, the algorithm for IndicPlus is so beautifully developed that it single-handedly tackles the complexity involved in various Asian Scripts", says Amit Gupta, the developer of IndicPlus algorithm in InDesign CS2, CS3.
"We always had a dream that someday someone will come-out with a such a feature so that I would be able to effortlessly write Hindi in InDesign. With IndicPlus, its like a dream come true", said Amritanshu Pandey from Creative Printers.
Languages suported in InDesign and Illustrator CS4, CS5
The number of languages supported by IndicPlus in InDesign and Illustrator CS4 & Cs5 are much more as compared to what were supported in CS2 & CS3. The total list of languages supported in CS4 and CS5 suites is above 21 in number. Some languages included in the list include the following languages:
Arabic, Assamese, Azeri, Bengali, Farsi, Georgian, Greek, Gujarati, Hebrew, Hindi, Kannada, Kashmiri, Kazakh, Khmer/Cambodian, Lao, Malayalam, Manipuri, Marathi, Nepali, Oriya, Punjabi, Sanskrit, Sindhi, Tamil, Thai, Urdu, Vietnamese, to name a few
Free trial versions of all plug-ins, including IndicPlus, from MetaDesign Solutions are available at the downloads page. MetaDesign encourages to try the plug-ins free of cost.
Spinning wheel on webkit for iPhone/iPod touch
The plugin for spinning wheel given on http://cubiq.org/spinning-wheel-on-webkit-for-iphone-ipod-touch is a very amazing plugin and it is developed in a very nice way.
I used this on my iPad App but this was not completely as per my requirements so I made some modifications in it which are given as:
- Display it on html element where iPad screen is touched.
- Making it workable by displaying it at any part of iPad screen.
- Adjust its location if control is lying at the border of iPad screen.
- Allow to fill its value in element on your webpage.
How to use it?
Step1:Include Javascript and css files:
<linkrel="stylesheet"href="styles/spinningwheel.css"type="text/css"media="all"/>
<scripttype="text/javascript"src="src/spinningwheel.js"></script>
Ste2: Add slots:
var days = { };
for(var i = 1; i < 32; i += 1 ) {
days[i] = i;
}
SpinningWheel.addSlot(days, 'shrink', 12);
addSlot function description:
addSlot(First,Second,Third)
First : Name of slot variable having key: value combinations for slot.
Second : It can be right (align the values of slots to right),readonly(slot will not spun), shrink (shrink the slot width to the minimum possible)
Third : default value.
You can add any number of slots.
Ste3: Setup the action for Cancel and done Button:
SpinningWheel.setCancelAction(cancelfunc);
SpinningWheel.setDoneAction(donefunc);
Cancelfunc and donefunc are the name of the function which will be called on corresponding button clicks.
Step4: setting up various properties:
Set height and width of spinning wheel as it is in css file:
i.e.
SpinningWheel.width = 250;
SpinningWheel.height = 43;
(this is required to show spinning wheel on a required position)
Ste5: To show up the spinning wheel:
SpinningWheel.open();
The values of spinning wheel can be obtained by using function i.e. SpinningWheel.getSelectedValues(). It gives you an array of values of all slots in same order in which slots are added to it.
Complete script to use this is as:
<linkrel="stylesheet"href="styles/spinningwheel.css"type="text/css"media="all"/>
<scripttype="text/javascript"src="src/spinningwheel.js"></script>
<scripttype="text/javascript">
//obj : Object of the webpage which is clicked to open the spiining wheel
//id of the text element in which you want to populate the value
functionopenBirthDate(obj,textctrl){
varnow=newDate();
vardays={};
varyears={};
varmonths={1:'Jan',2:'Feb',3:'Mar',4:'Apr',5:'May',6:'Jun',7:'Jul',8:'Aug',9:'Sep',10:'Oct',11:'Nov',12:'Dec'};
for(vari=1;i<32;i+=1){
days[i]=i;
}
for(i=now.getFullYear()-20;i<now.getFullYear()+1;i+=1){
years[i]=i;
}
SpinningWheel.addSlot(days,'shrink',now.getDate());
SpinningWheel.addSlot(months,'shrink',now.getMonth());
SpinningWheel.addSlot(years,'shrink',now.getFullYear());
SpinningWheel.setDoneAction(done);
SpinningWheel.ctrlObj =obj;
SpinningWheel.width =250;
SpinningWheel.textctrl =textctrl;
SpinningWheel.open();
}
functiondone(){
if(SpinningWheel.textctrl!=''){
varresults=SpinningWheel.getSelectedValues();
vartextctrlVal=results.keys[0]+"/"+results.keys[1]+"/"+results.keys[2];
document.getElementById(SpinningWheel.textctrl).value=textctrlVal;
}
functioncancel(){
}
</script>
Demos: The following demos will function properly only on the Safari browser of your iPhone/iPad and not on your normal PC since it requires touchscreen functionality to be enabled.
Download Source Code
Chained ComboBox Flex Sdk 3.5 issue finally got workaround
Hi folks,
Few days earlier I also switched from flex sdk 3.2 to flex sdk 3.5 where in sdk 3.2 every thing was running perfect including chained combobox, but while switching to flex sdk 3.5 I have noticed that in combobox a bug reproduced when using chained combobox and spoils my whole application. I also came to flex forum blog where it was suggested to switch to flex sdk 3.6 but I don't want to switch sdk 3.6 as it was nightly build and I want to prefer release one. So I had decided to go in the code to see why this happens. While playing with code I have seen a shared dataprovider is used for combo box and the dropdown.
So, I realize that there is some issue while re-assigning the dataprovider to the dropdown and only need to correct this. But unfortunately that function where the dropdown dataprovider is set is private. So I decided to manully set the shared dataprovider to the dropdown whenever the comboBox dataprovider is changed by extending combobox and overriding function set dataProvider(value:Object):void . and voila my issue has been relsolved.
But later on I had realized that setting dropdown's dataprovider in combobox dataprovider setter leads to again further unseen issue of dropdown width and rowheight which reproced in my application randomly, which I had not realized earlier and leads to again drill down the ComboBox sdk code.
There I found a mx_internal function hasDropdown():Boolean which is used to determine whether comboBox dropdown is created or not. So I have to decided to override this mx_internal function and return false whenever the dataprovider of comboBox is changed.
By doing this, all issue has been gone as they were never before and works perfectly.
My demo is view source enabled, you can view the source code by right clicking on the application.
XCODE 3.2.3 : GenerateDSYMFile Step Gives Invalid DWARF error
You may get this error if your project is using GCC Version 4.0 with Xcode Version 3.2.3. A simple alternative would be to update your project settings to use GCC 4.2 or disable dSYM generation. But if you are stuck to use GCC 4.0 due to some legacy reasons like I was, follow the simple steps I listed below for workaround.
This is a known issue & has been discussed in the following post
http://www.cocoabuilder.com/archive/xcode/289178-generatedsymfile-invalid-dwarf-error.html
Steps to follow
- Download previous version of dSYMUtil by clicking here
- unzip the file
- Backup your previous dSYMUtil in “/Developer/usr/bin” folder & replace the file you downloaded in the earlier step
That’s it, Your XCode should be fixed.
Custom filterable column for DataGrid Flex 3 with Sorting enabled
This post is deeply inspired from the post at Cookbook recipe for filtering data grid. This post is about to enable the sorting on the dataGrid column which I found missing in the recipe.
Code is not very well documented, but is very easy to understand and use.
Please feel free, if you requires any help.
View Source is enable at right click on demo.
0xc0000135 error code for oracle services
Windows apps are dependent on dlls, and if some program messes around with them,wierd things happen. Recently our admin was stuck on a windows server 2008 x64 box where not even a single Oracle instance,or the listener or the isqlplus service wont start. All gave this weird error message -
(this one's for tnslistener)
Faulting application TNSLSNR.EXE, version 0.0.0.0, faulting module orannzsbb10.dll,
errorcode 0xc0000135 .....
Looking around a bit over for the errorcode 0xc0000135 , I found this link . I could see that the problem was that the particular dll in question orannzsbb10.dll could not be located. The cause was further confirmed by using this excellent tool dependencywalker once I launched tnslsnr.exe from it.
So, some rogue program had changed the extension of some important dlls oci.dll,orannzsbb10.dll,
OraOps10w.dll to _dll !!! I had to rename them and then voila,everything ran fine.
a different kind of popup button
Have you ever had a requirement that the whole clickable area of your popupbutton should show the dropdown instead of just the small button on the right? This control does exactly the same.It derives heavily from the concept of the normal popupbutton and combo box in flex but with the slight twist to the end functionality.Have a look.
Compiling flexlib from source
Flexlib is an excellent component library which I have used extensively , especially the MDI framework. Recently we encountered an issue in flexlib swc which was actually a bug. Hoping that it could have been fixed in the latest builds, i set about to compile it. Although the site itself has almost all the requisite stuff but somehow all the steps are not there at a particular place so maybe this helps somebody out. But please note they are windows specific. you would need
- an anonymous checkout of the code first using svn as described here.
- apache ant(mine was 1.7.1) as the build tool. (it helps if you add the bin folder in your installation to the path variable on your machine)
Go to the build folder under flexlib on a command prompt. You will notice a file called build.xml and another build.win.properties. They need to modified a bit according to your settings - For flex 3 - In build.win.properties add these new variables(make sure to change the values to your flex install directory). I added it at line number 15, but its up to you. flexsdk.bin.dir = C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/bin flexsdk.lib.dir = C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/libs flexsdk.locale = en_US flexsdk.locale.dir = C:/Program Files/Adobe/Flex Builder 3/sdks/3.2.0/frameworks/locale/{locale} change these variables to use the new variables asdoc.exe = ${flexsdk.bin.dir}/asdoc.exe compc.exe = ${flexsdk.bin.dir}/compc.exe mxmlc.exe = ${flexsdk.bin.dir}/mxmlc.exe In build.xml uncomment this line (32) <
property file="./build/build.win.properties" / >
and comment this one(33)
<
property file="./build/build.mac.properties" />
on line (24) update the basedir attribute to your flexlib directory(an absolute path is good enough)
<
project name="flexlib" basedir="C:\Project\GoogleCode\flexlib" default="lib" >
Going to line 118,you would need to uncomment this line
<
arg line="-el '${flexsdk.lib.dir}/player'" /> and change it, so that I could compile flexlib for flash player 10. <arg line="-el '${flexsdk.lib.dir}/player/10'" />
Thats it, now on command prompt go the flexlib/build directory and run ant(which is as simple as ant + enter key,if you followed the first part of the post correctly) if all goes good you should see a flexlib.swc in the bin flexlib/bin folder. 
Error border skin in Textinput
A flex Textinput control uses the errorcolor property to change the border color when a validator associated with the component fails to validate the textinput.
Interestingly this color does not appear when the same textinput is using a flash based focus skin.The problem is that the focus skin tends to hide the error color around so after a bit of investigation and there is no style which would let us specify a border skin for the error state.So we found the solution by subclassing textinput and defining another style called errorskin(which is just another border skin that you would want to use for showing validation errors,preferably in a red shade).
Check out the working sample(with view source).
LCDS to BlazeDS porting
Introduction
This document is designed to explain key features of BlazeDS and LCDS. Main purpose of this document is to provide a solution to implement Data Management Services with BlazeDS. Data Management Service is currently supported by LCDS only.
Introduction to Live Cycle Data Service
Live Cycle Data Service (LCDS) is a high-performance, scalable, flexible j2ee server based framework that streamlines the development of RIAs using Adobe software and the Adobe AIR runtime. Lifecycle Data Services abstracts the complexity required to create server push–based applications and supports a rich set of features to create real-time and near-real-time solutions. Live Cycle Data Services API, simplifies data management problems such as tracking changes, synchronization, paging, and conflict resolution. Flex and AIR applications use Flex components to communicate with the LiveCycle Data Services server, including the RemoteObject, HTTPService, WebService, Producer, Consumer, and DataService components. The HTTPService, WebService, Producer, and Consumer components are part of the Flex Software Development Kit (SDK). A LiveCycle Data Services application consists of two parts: a client-side application in Flex or AIR and a server-side J2EE web application.
Key features
Some of the real-time feature and capabilities of Live Cycle Data Service are:
- Provides the interactivity required for applications to present real-time data to clients. It enables the client to maintain a persistent connection to the server. Use the Action Message Format (AMF) channel, which enables faster data transmission.
- Provides an enterprise-class, real-time platform that can push data from multiple sources, including changes from other users, to the Flash and Adobe AIR runtimes. Support Data Management service which is discussed latter in this document.
- Provides PDF technology with flex
- Provides Service Adapter which is responsible for updating the persistent data store on the server in a manner appropriate to the specific data store type
- Use message-based framework to send data back and forth between the client and server.
- Facilitates the paging of large data sets, enabling developers to focus on core application business logic instead of worrying about basic data management infrastructure.
- Enables data to automatically be pushed to the client application without polling


