What is Picture to People ?

"Picture to People" (P2P) is a huge Computer Graphics project. It was started to create new softwares able to make 2D drawing, 3D rendering, vexel drawing, text effects, photo effects, image filtering and other complex Computer Graphics operations. It has been made from scratch, including its low level Computer Graphics libraries like Maccala. Nowadays, most final features produced for this project are released as free online tools available from its official website. This blog talks about Computer Graphics, mainly concerning Picture to People development.

"Only who makes has true knowledge. Knowledge is control. True power depends on total control. Only who makes from scratch has the real power."

Showing posts with label Unicode strings. Show all posts
Showing posts with label Unicode strings. Show all posts

Friday, December 27, 2013

Online text generators with improved language support

I'm glad to announce P2P now supports natively a lot of new languages (mostly Western ones), so its thousands of online text effect makers can be more useful to millions of people around the globe.

The fully supported languages are:
  • Afrikaans;
  • Albanian;
  • Basque;
  • Breton;
  • Catalan;
  • Corsican;
  • Danish;
  • English (UK and US);
  • Faroese;
  • Galician;
  • German;
  • Icelandic;
  • Indonesian;
  • Irish (new orthography);
  • Italian;
  • Latin (basic classical orthography);
  • Leonese;
  • Luxembourgish (basic classical orthography);
  • Malay;
  • Manx;
  • Norwegian (BokmÃ¥l and Nynorsk);
  • Occitan;
  • Portuguese;
  • Rhaeto-Romanic;
  • Scottish Gaelic;
  • Spanish;
  • Swahili;
  • Swedish;
  • Walloon.
The almost fully supported languages (missing few characters) are:
  • Catalan;
  • Czech;
  • Dutch;
  • Estonian;
  • Finnish;
  • French;
  • Hungarian;
  • Irish (traditional orthography);
  • Latin with macrons;
  • Maori;
  • Turkish;
  • Welsh.
Anyway, beware: no matter Picture to People text effect tools can understand the more uncommon chars of that languages, the softwares still depend on the font file data to know how to draw them. It means that if you choose a font that doesn't implement some letter of your text, that letter can be rendered as an empty space, a square or whatever the font data contains (even nothing).

If you have problems rendering more complex texts, you can choose the Arial or Tahoma fonts, because for sure they have all characters for the fully supported languages (and most for the partially supported ones). They are not artistic or special fonts, but at least you can create the text effect with the correct spelling.

Below I show an example of some new characters that can be drawn by using our Online Text Effect Editors.

 Subscribe in a reader

Wednesday, November 20, 2013

A library to manipulate and convert Unicode strings

I could finally finish a reasonable library to read strings encoded by using the UFT (UCS Transformation Format) family of string/symbol codifications.

I also used the opportunity to create a lot of handy functions to manipulate Latin1 strings in an easier and more optimized way.

Now, to be able to offer "Unicode aware" text effects I need to be able to extract high code glyphs from TTF (or OTF) fonts. For sure it's much harder than programming encoders/decoders.

At least, the effort I made so far gave me a very deep understanding about some strange string conversion errors that can occur when users from East request text effects.

 Subscribe in a reader

Tuesday, July 23, 2013

Understanding Unicode characters

In a previous post, I have talked about my adventures trying to understand and implement character encodes used to represent Unicode strings.

Despite it needs much more tests, I have been successfully implementing a library that can understand and manipulate strings in the following Unicode representations:
- UTF8;
- UTF16-LE;
- UTF16-BE;
- UTF32-LE;
- UTF32-BE.

By implementing the encodes above, I will automatically be able to deal with other simpler standards, like for example:
- Latin 1;
- UC2;
- UC4.

But what does it all mean? It means I will understand the binary encode of Unicode strings, or, in other words, I will know what code points a string represents. Code points are unique numbers representing characters or symbols.

It's pretty nice, but it's just half the way to go. Since I have the code points of a string, I know for sure what it should mean, but I don't know how the related chars or symbols look like. There is a long and hard way for a complete solution.

 Subscribe in a reader

Thursday, June 27, 2013

Character encoding and string representation

I'm used to talk here a lot about texts as graphical entities. Picture to People already has hundreds and hundreds of free online text effects and even a big set of online font effects. I'm always saying something about texts, fonts, typography and everything related, but now it's different.

No matter if, in the end, I will see texts as sets of glyphs to be rendered, they need to come from somewhere and need to be initially represented someway. This representation is what I'm dealing with these days.

This can sound very distant of Computer Graphics, but it's not. Being feature rich and versatile when manipulating string encodes will give an important software foundation to be able to make things that currently are impossible.

Currently my softwares can just deal with a charset vulgarly called "Latin 1". It's pretty enough for many languages (and almost enough for some others), mainly the ones originated in Europe. However, they can't tackle symbols from "stranger" languages, like the ones you usually see in the East.

If I can't understand and decode these symbols, of course I will not be able to properly draw them. That's the point where a new library focused on character encoding/decoding can help me to offer more "internationalized" text effects.

I receive frequent requests to support many different languages. Would you use Picture to People more if it had text effects that can render more unusual characters and symbols?

 Subscribe in a reader