• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
1

Keyboard effect in Arabic

Community Beginner ,
May 18, 2020 May 18, 2020

Copy link to clipboard

Copied

Hey everyone.

 

I am writing in arabic in after effects, and I want to animate it so it looks like someone is typing on a keyboard effect. However the problem is that in arabic, the letters changes depending on the letter that comes next, so the typewriter effect isn't gonna look realistic. As you can see in the example below whenever the next letter comes the first one changes. (Thats how the keyboard acts in arabic messaging application). 

 

My solution was writing each letter on a keyframe in the source text, and it worked like in the example. The problem is I have a big workflow and can't animate each letter. Ideally I want to make an expression or something, such as put the first letter as a keyframe and the end of the sentence on another keyframe and be able to animate through them. The problem is the source text have only the Hold temporal interpolation. 

TOPICS
Expressions , Scripting

Views

1.2K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Beginner , May 18, 2020 May 18, 2020

Thank you for your reply

I have found a solution by asking around.

Here's the expression for the source text, to use it with a slider control:

s = effect("Slider Control")("Slider").value;
str = "";
txt = value.split("");
for (i = 0; i < Math.min(txt.length,s); i++){
str += (i > 0 ? "" : "") + txt[i];
}
str

 

 

 

Votes

Translate

Translate
LEGEND ,
May 18, 2020 May 18, 2020

Copy link to clipboard

Copied

There's probably no good way, not even with expressions. These contextual ligatures and alternate glyphs are tough to crack in an animation. You could play around with text animators for character value and character offset, but even that will require a ton of keyframes. Otherwise one might likely have to create an expression with a huge list that contains the substitutions and based on input "time" changes the underlying Unicode/ OpenType glyph. Either way, it seems to me there is no really efficient solution for this. Too many possible combinations and things can get even more complicated when you consider "natural" Arabic where sometimes entire words are suddenly replaced with a new scriptogram/ symbol...

 

Mylenium

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
May 18, 2020 May 18, 2020

Copy link to clipboard

Copied

LATEST

Thank you for your reply

I have found a solution by asking around.

Here's the expression for the source text, to use it with a slider control:

s = effect("Slider Control")("Slider").value;
str = "";
txt = value.split("");
for (i = 0; i < Math.min(txt.length,s); i++){
str += (i > 0 ? "" : "") + txt[i];
}
str

 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines