Illustrator (Desktop) SDK/Scripting Issues
27 results found
-
Unicode support for tool names & toolips
The AIAddToolData struct is still using char* for the title & tooltip members. I know it does some kind of localization, but that's really archaic when the rest of the SDK uses ai::unicode.
4 votes -
Update Samples to not require MFC
The Samples included with the SDK cannot currently be compiled on Windows unless MFC was installed as part of the Visual Studio installation procedure.
Making the Samples requires two small things:
- Add the following include below the SDKDef.h include in VersionInfo.rc
include "verrsrc.h"
- Change the "afxres.h" include in the .rc of all plugins to instead include "winuser.h"
Doing so will make MFC optional, and not required; ultimately, including 'afxres.h' is including the two headers outlined above so it's just introducing an unnecessary middle man who can be safely bypassed.
4 votes -
Unicode support for annotation text
AIAnnotationDrawerSuite::DrawText() takes an ai::UnicodeString, but when you pass it non-Latin1 characters, you just get the box character. I suspect that if I passed Japanese to the Japanese version of Illustrator, the characters would display correctly, but it'd useful if you could do it regardless of Illustrator version.
We are just starting to add translations of our plugin and currently AI tool tooltips & annotation text have to be kept as Latin1 or we run into trouble.
13 votes -
Access to underlying Illustrator object handles via scripting
The biggested pain point when implementing scripting support for plugins is that if you want to add objects that interact with built-in Illustrator script objects (LiveObjects) like Layers, Documents or PageItems. While it's possible to correctly parse whether you're being passed the correct scripting object (e.g. a Layer and not something else) you can't actually determine the handle for the specified object; that lives inside the ScriptingSupport.aip and has no public API.
Perhaps a small suite could be added that provides methods like this:
AIAPI AIErr (GetDocumenttHandle) (long hObject, AIDocumentHandle& outHandle);
AIAPI AIErr (GetLayerHandle) (long hObject, AILayerHandle& outHandle);…15 votes -
accented charaters bug?
Hi
(Illustrator 2015-3, mac)
I try to put this text in a frame.
&éèçà€ù~©®πRUNNING
Before insertAfter, the text ( as a char *) is correct
After the insertAfter, it is also correct ( via getContents).
But garbage is displayed as seen in the screen capture.
Dropbox - Capture d'écran 2018-04-25 05.39.42.png
I'm stuck.
Thanks for any help.
He re is some code I use.
// get contents
TextFrameRef textFrameRef = NULL;
AIErr result = sAITextFrame->GetATETextFrame(bloc, &textFrameRef);
ATE::ITextFrame textFrame(textFrameRef);
ATE::ITextRange textRange = textFrame.GetTextRange();
// textRange.Select();
//debug
int longueur = textRange.GetContents(s, 255);
// set contents to contenu
// Set the contents of…
2 votes -
Bug: Before and After Export Notifiers Do Not Fire When Export As is Used From the Menu
The below menu command notifiers do not fire when the export option is used:
kAIExportCommandPreNotifierStr "AI Command Notifier: Before Export"
kAIExportCommandPostNotifierStr "AI Command Notifier: After Export"Other menu notifiers do fire, such as "AI Command Notifier: Before Save As" and "AI Command Notifier: After Save As"
4 votes -
Updating annotation drawings as bezier control points are dragged
Hello,
I'm working on an Illustrator plugin to help visualise bezier curve continuity. Screenshot: https://i.imgur.com/rxgqDJL.png
I wanted to ask if there's a way to update artwork annotations as the user drags a bezier path control point? Currently my plugin only updates the annotation drawing once you let go.
I assume this is possible because Illustrator seems to be able to do it for showing useful information such as alignment as you edit curves.
Some extra technical details in case it helps... :)
I started this project using the Annotator example project from the sdk as a starter.
In my plugin…
4 votes
- Don't see your idea?