SlideShare a Scribd company logo
1 of 81
Download to read offline
‫بیژن ابراهیم‬
‫»عضو گروه کاربران لینوکس مشهد«‬

‫‪MashhadLUG.org‬‬

‫‪@bijan@quitter.se‬‬
‫یون ک‬
‫کد‬
‫“‪”The Unicode‬‬

‫جلسه باز نرم افزاری مشهد،‬
‫۴ اسفند ۲۹‬
‫پیشگفتار‬
“The Introduction”
‫چرا یون ک‬
‫کد؟‬
“Why Unicode?”
‫اگر فکر م کنید …‬
‫”... ‪“if you think‬‬

‫متن ساده‬
‫ک‬
‫یون کد‬

‫‪ASCII‬‬

‫انکدینگ )۲ بایت(‬

‫کیبورد فارس مایکروسافت مناسب فارس نویس است‬
‫یا برای فارس نویس نیاز به ابزار فرمتبندی است‬
‫اگر تا حال…‬
‫”... ‪“If by now‬‬
‫انکدینگ کاراکتر‬
“The Character Encoding”
‫انکدینگ کاراکتر چیست؟‬
“What is The Character Encoding?”
#

C
T

!

M

H

JS

N



O

F

Q

A

I
P

x

Y

E

G
V

U

K

B

L

D

Z

R
W

?

0100110011011001011010
0100100011101010101101
0011001100000110010101
0101000100111101101101
0010110100101010111101
01010101010101
‫تاریخچه یون ک‬
‫کد‬
“The unicode History”
‫انکدینگ ا‬
‫اسک‬
‫”‪“ASCII Encoding‬‬
‫✔‬

‫۷ بیت )۸۲۱ کاراکتر(‬

‫✔‬

‫۳۳ کاراکتر کنترل‬

‫✔‬

‫۵۹ کاراکتر چاپ‬

‫✔‬

‫۱ بیت اضافی‬
‫اسک و بیت اضافی‬
‫”‪“ASCII and the extra bit‬‬
‫✔‬

‫گسترش سیستم های ۸ بیت‬

‫✔‬

‫بیت مورد علهقه توسعه دهندگان‬
‫1‬

‫2‬

‫3‬

‫4‬

‫5‬

‫6‬

‫7‬

‫‪x‬‬

‫‪x‬‬

‫‪x‬‬

‫‪x‬‬

‫‪x‬‬

‫‪x‬‬

‫‪x‬‬

‫♥‬

‫۸۲۱ کاراکتر اضافی‬
‫اسک و بیت اضافی‬
“ASCII and the extra bit”
‫آنس و تولد ک‬
‫کدپیج ها‬

Codepage dependent

Fixed

“ANSI and The birth of the Code Pages”

CP437 (IBM)

CP1256 (Arabic)
‫مشکل ت ک‬
‫کدپیج ها‬
‫”‪“Code Pages Problems‬‬
‫✔‬

‫چندزبانه سازی عمل غیرممکن بود‬

‫✔‬

‫مشکل در ارتباط با سیستم های مختلف دیگر‬

‫✔‬

‫نامناسب برای زبان های آسیای‬
‫تفاو ت میان کاراکتر کدپیج ها‬
“Difference between codepages characters”

$ python
 print chr(202).decode('cp437')
╩
 print chr(202).decode('cp1256')
‫ت‬
‫استاندارد یون ک‬
‫کد‬
“The Unicode standard”
‫فارس‬

日本語

English

Slovenščina

‫العربية‬

‫עברית‬

Русский

Հայերեն

Polski

中文
Български

...
‫استاندارد یون ک‬
‫کد‬
“The Unicode standard”

Basic Latin

A

Letter
ISO Control
Uppercase
Lowercase

Whitespace

Digit
Left to Right
...
AlphaNumeric

Mirrored

Code Point
U+hexadecimal
‫خصوصیا ت کاراکترهای‬
‫یون ک‬
‫کد‬
“Unicode characters properties”
$ python
 import unicodedata as ud
 ud.name(u”‫)”ب‬
'ARABIC LETTER BEH'
 ud.category(u”‫)”ب‬
'Lo'
 ud.numeric(u”۳”)
3.0
‫استاندارد یون ک‬
‫کد‬
“The Unicode standard”

Code Point
U+hexadecimal

0100110011011001011010
0100100011101010101101
0011001100000110010101
0101000100111101101101
0010110100101010111101
01010101010101
‫انکدینگ های یون ک‬
‫کد‬
“The Unicode encodings”

“Hello”

U+0048 U+0065 U+006C U+006C U+006F
‫انکدینگ های یون ک‬
‫کد‬
“The Unicode encodings”

“Hello”

U+0048 U+0065 U+006C U+006C U+006F

0048 0065 006C 006C 006F
4800 6500 6C00 6C00 6F00
‫انکدینگ های یون ک‬
‫کد‬
“The Unicode encodings”

“Hello”

U+0048 U+0065 U+006C U+006C U+006F

0048 0065 006C 006C 006F

low-endian

4800 6500 6C00 6C00 6F00

hi-endian
‫انکدینگ های یون ک‬
‫کد‬
“The Unicode encodings”

“Hello”

U+0048 U+0065 U+006C U+006C U+006F

FFFE
Byte Order Mark
(BOM)

0048 0065 006C 006C 006F

low-endian

FEFF

4800 6500 6C00 6C00 6F00

hi-endian
‫انکدینگ های یون ک‬
‫کد‬
“The Unicode encodings”

“Hello”

U+0048 U+0065 U+006C U+006C U+006F

FFFE
Byte Order Mark
(BOM)

0048 0065 006C 006C 006F

low-endian
UCS-2

FEFF

4800 6500 6C00 6C00 6F00

hi-endian
‫مشکل ت انکدینگ های یون ک‬
‫کد‬
‫”‪“The Unicode encodings cons‬‬

‫✔‬

‫عدم بهینگ در فضا با نگهداری بیت های صفر‬

‫✔‬

‫عدم سازگاری با انکدینگ اسک‬

‫✔‬

‫عدم سازگاری با برنامه های هقدیم‬
UTF-8 ‫انکدینگ‬
“The UTF-8 encoding”
UTF-8 ‫انکدینگ‬
“UTF-8 encoding”

‫طول متغیر‬
Bites

First

Last

Bytes

Byte 1

Byte 2

Byte 3

Byte 4

Byte 5

7

U+000

U+007F

1

0xxxxxxx

11

U+0080

U+07FF

2

110xxxxx

10xxxxxx

16

U+0800

U+FFFF

3

1110xxxx

10xxxxxx

10xxxxxx

21

U+10000

U+1FFFFF

4

11110xxx

10xxxxxx

10xxxxxx

10xxxxxx

26

U+200000

U+3FFFFFF

5

111110xx

10xxxxxx

10xxxxxx

10xxxxxx

10xxxxxx

31

U+400000

U+7FFFFFFF

6

1111110x

10xxxxxx

10xxxxxx

10xxxxxx

10xxxxxx

Byte 6

10xxxxxx
UTF-8 ‫انکدینگ‬
“UTF-8 encoding”
‫بایت مقدم‬

Byte 1
0xxxxxxx
110xxxxx
1110xxxx
11110xxx
111110xx
1111110x

‫بایت های ادامه‬

Byte 2

Byte 3

Byte 4

Byte 5

Byte 6

10xxxxxx
10xxxxxx
10xxxxxx
10xxxxxx
10xxxxxx

10xxxxxx
10xxxxxx
10xxxxxx
10xxxxxx

10xxxxxx
10xxxxxx
10xxxxxx

10xxxxxx
10xxxxxx

10xxxxxx

‫معرف تعداد بایت های ادامه‬
‫مزایای انکدینگ 8‪UTF‬‬
‫”‪“The UTF8 encoding pros‬‬

‫✔‬
‫✔‬
‫✔‬

‫بهینه در نگهداری فضا‬
‫هقابلیت کشف خطا‬
‫سازگاری کامل با انکدینگ اسک‬
‫‪48 65 6C 6C 6F‬‬
‫‪48 65 6C 6C 6F‬‬

‫”‪“Hello‬‬
‫”‪“Hello‬‬

‫‪ASCII‬‬
‫8-‪UTF‬‬
‫دیگر انکدینگ های یون ک‬
‫کد‬
“Other unicode encodings”
✔

UCS-2 (LE-BE) + BOM

✔

UTF-16 (LE-BE) + BOM

✔

UTF-32 (LE-BE) + BOM

✔

UTF-7
‫دیگر انکدینگ های یون ک‬
‫کد‬
“Other unicode encodings”
$ python
 unichr(202).encode('utf-16le')
'xcax00'
 unichr(202).encode('utf-16be')
'x00xca'
 unichr(202).encode('utf-16')
'xffxfexcax00'
 unichr(202).encode('utf-32')
'xffxfex00x00xcax00x00x00'
 unichr(202).encode('utf-7')
'+AMo-'
‫تبدیل انکدینگ ها‬
“Character Encodings conversion”
‫یک نکته طلیئ‬
“A Golden note”
‫»در حافظه چیزی به نام‬
«‫متن ساده وجود ندارد‬
”There's nothing as plain text on memory”
‫»داشتن یک رشته بدون‬
‫دانستن نوع اندینگ آن‬
«‫ب معن است‬
”It does not make sense to have a string without
knowing what encoding it uses”
‫۱. ارسال نوع انکدینگ‬
“Sending the encoding type”
✔

HTTP

Content-Type: text/html; charset=UTF-8

✔

HTML 4

meta http-equiv=Content-Type
content=text/html; charset=UTF-8

✔

HTML 5

meta charset=UTF-8

✔

XML

xml encoding=UTF-8
‫۱. ارسال نوع انکدینگ‬
“Sending the encoding type”
$ curl -I http://google.com
HTTP/1.1 301 Moved Permanently
Location: http://www.google.com/
Content-Type: text/html; charset=UTF-8
Date: Mon, 24 Feb 2014 12:32:10 GMT
Expires: Wed, 26 Mar 2014 12:32:10 GMT
Cache-Control: public, max-age=2592000
Server: gws
Content-Length: 219
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN
$
‫۲. شناسای نوع انکدینگ‬
“Detecting the encoding type”

‫نوع انکدینگ مشخص نیست‬

✔

‫اطلعا ت نوع انکدینگ هقابل اطمینان نیست‬

✔

https://en.wikipedia.org/wiki/Charset_detection
http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html
‫راهکار شناسای انکدینگ موزیل‬
“Mozilla universal charset detection”

‫ک‬
‫ش‬
‫شمای کد‬

✔

‫نسبت توزیع حروف‬

✔

‫نسبت توزیع دو حرف متوال‬

✔

https://en.wikipedia.org/wiki/Charset_detection
http://www-archive.mozilla.org/projects/intl/UniversalCharsetDetection.html
‫راهکار شناسای انکدینگ موزیل‬
“Mozilla universal charset detection”

$ python
 import chardet
 hello world.encode(utf16)
'xffxfehx00ex00lx00lx00ox00
x00wx00ox00rx00lx00dx00'
 chardet.detect(“xffxfehx00ex00lx00lx00 o
x00x00wx00ox00rx00lx00dx00”)
{'confidence': 1.0, 'encoding': 'UTF-16LE'}
!‫۳. حدس زدن نوع انکدینگ‬
“Guess the type of encoding!”
‫استفاده از یون ک‬
‫کد در‬
‫همه جا کافی است؟‬
“is using unicode in everywhere enough?”
$
str=”#216;#170;#216;#179;#217;#136;#217;#138
;#217;#135;
#217;#130;#216;#168;#217;#136;#216;#182;
#216;#162;#216;#168;”
$ dec2hex(){ echo “obase=16; $1” | bc }
$ echo $str | grep -o “[0-9]*” | while read num; do
echo -n “x`dec2hex #num`”; done | chardet
stdin: utf-8 (confidence: 0.99)
$ python
 real_string =
(chr(216)+chr(170)+chr(216)+chr(179)+...).decode(“ut
f8”).encode(“ascii”, “xmlcharrefreplace”)
 real_string
'#1578;#1587;#1608;#1610;#1607;#1602;#1576;#
1608;#1590;#1570;#1576;'
 print real_string
‫تسويه قبوض آب روستائي استان خراسان رضوي‬
‫همیشه شما تنها‬
!‫تولیدکننده محتوا نیستید‬
“You're not always the only content producer!”
‫یون ک‬
‫کد و چندزبان‬
“Unicode and multilingual”
‫متن دوجهت‬
“Bi-Directional Text”

«‫ مباشد‬Bi-Directional ‫»این یک متن‬
RTL

LTR

RTL
‫جهت کاراکترها‬
‫”‪“Character's directional‬‬

‫کاراکترهای ضعیف‬
‫‪Weak Characters‬‬
‫اعداد‬

‫کاراکترهای هقوی‬
‫‪Strong Characters‬‬

‫کاراکترهای خنث‬
‫‪Neutral Characters‬‬

‫حروف الفبا‬

‫فاصله های خال‬
‫علیم نگارش‬
‫کیبورد استاندارد فارس‬
“Persian standard keyboard”
‫مؤسسه استاندارد و‬
‫تحقیقا ت صنعت ایران‬
“Institute of Standards
And Industrial Research of Iran”
‫استانداردهای مل‬
‫صفحه آرای )کیبورد( فارس‬
“National standards of persian layout”
‫028 ‪ISIRI‬‬

‫»حروف فارس در‬
‫ماشین تحریر«‬
‫۲۵۳۱‬
‫1092 ‪ISIRI‬‬

‫»طرز هقرارگرفتن حروف و‬
‫علیم زبان فارس بر روی‬
‫صفحه کلید«‬
‫۳۷۳۱‬
‫7419 ‪ISIRI‬‬

‫»چیدمان حروف و علیم‬
‫فارس بر صفحه کلید‬
‫رایانه«‬
‫استاندارد مل ۷۴۱۹‬
‫“7419 ‪”ISIRI‬‬
‫✔‬

‫ک‬
‫مبتن بر استاندارد یون کد‬

‫✔‬

‫سازگار با استاندارد ۱۰۹۲‬

‫✔‬

‫نویسه های استاندارد شده ۹۱۲۶‬

‫✔‬

‫دستور خط فارس مصوب فرهنگستان زبان و ادب‬
‫کیبورد استاندارد فارس‬
“Persian standard keyboard”
‫کیبورد استاندارد فارس‬
‫”‪“Persian standard keyboard‬‬
‫نام‬
‫اتصال مجازی‬

‫کاراکتر یونیکد‬
‫ک‬
‫‪ZERO WIDTH‬‬
‫‪JOINER‬‬

‫کد پوینت یونیکد‬
‫ک‬
‫ک‬
‫‪U+200d‬‬

‫کد ‪HTML‬‬
‫;‪zwj‬‬
‫مثال های از سطح ۱‬
‫کیبورد استاندارد فارس‬
‫ب‬
‫ب‬

‫ب‬
‫`‬

‫`‬

‫ب‬
‫ب‬

‫`‬

‫ب‬

‫`‬
‫مثال های از سطح ۱‬
‫کیبورد استاندارد فارس‬
‫۲۱‬
‫1‬

‫2‬

‫21‬
‫1‬

‫‪Num Lock‬‬

‫2‬

‫‪Num Lock‬‬
‫کیبورد استاندارد فارس‬
“Persian standard keyboard”
‫کیبورد استاندارد فارس‬
‫”‪“Persian standard keyboard‬‬
‫نام‬
‫اتصال مجازی‬
‫فاصله مجازی‬

‫کاراکتر یونیکد‬
‫ک‬
‫‪ZERO WIDTH‬‬
‫‪JOINER‬‬
‫‪ZERO WIDTH‬‬
‫‪NON-JOINER‬‬

‫کد پوینت یونیکد‬
‫ک‬
‫ک‬
‫‪U+200d‬‬

‫کد ‪HTML‬‬
‫;‪zwj‬‬

‫‪U+200c‬‬

‫;‪zwnj‬‬
‫مثال های از سطح ۲‬
‫کیبورد استاندارد فارس‬
‫میشود‬
‫م‬

‫ی‬

‫ش‬

‫و‬

‫د‬
‫مثال های از سطح ۲‬
‫کیبورد استاندارد فارس‬
‫م شود‬
‫م‬

‫ی‬

‫‪Space‬‬

‫ش‬

‫و‬

‫د‬
‫مثال های از سطح ۲‬
‫کیبورد استاندارد فارس‬
‫م شود‬
‫م‬

‫ی‬

‫‪Shift‬‬

‫+ ‪Space‬‬

‫ش‬

‫و‬

‫د‬
‫مثال های از سطح ۲‬
‫کیبورد استاندارد فارس‬
‫“نقل هقول”‬
‫“‬

‫ن‬

‫ق‬

‫ل‬

‫ق‬

‫و‬

‫ل‬

‫“‬
‫مثال های از سطح ۲‬
‫کیبورد استاندارد فارس‬
‫»نقل هقول«‬
‫‪Shift‬‬
‫ق‬

‫+‬
‫و‬

‫‪L‬‬
‫ل‬

‫ن‬

‫ق‬
‫‪Shift‬‬

‫ل‬
‫+‬

‫‪K‬‬
‫کیبورد استاندارد فارس‬
“Persian standard keyboard”
‫کیبورد استاندارد فارس‬
“Persian standard keyboard”
HTML ‫کد‬

‫کد پوینت یونیکد‬
‫ک‬
‫ک‬

‫کاراکتر یونیکد‬
‫ک‬

‫نام‬

rlm;

U+200f

RIGHT-TO-LEFT
MARK

‫نشانه راست به چپ‬

lrm;

U+200e

LEFT-TO-RIGHT
MARK

‫نشانه چپ به راست‬

#8235;

U+202b

RIGHT-TO-LEFT
EMBEDDING

‫زیر متن راست به چپ‬

#8234;

U+202a

LEFT-TO-RIGHT
EMBEDDING

‫زیر متن چپ به راست‬

#8236;

U+202c

POP
DIRECTIONAL
FORMATTING

‫پایان زیر متن‬
‫کیبورد استاندارد فارس‬
‫”‪“Persian standard keyboard‬‬
‫نام‬

‫کاراکتر یونیکد‬
‫ک‬

‫کد پوینت یونیکد‬
‫ک‬
‫ک‬

‫کد ‪HTML‬‬

‫زیرمتن اکیدا راست به‬
‫چپ‬

‫‪RIGHT-TO-LEFT‬‬
‫‪OVERRIDE‬‬

‫‪U+202e‬‬

‫;8328#‬

‫زیرمتن اکیدا چپ به‬
‫راست‬

‫‪RIGHT-TO-LEFT‬‬
‫‪OVERRIDE‬‬

‫‪U+202d‬‬

‫;7328#‬
‫مثال های از سطح ۳‬
‫کیبورد استاندارد فارس‬
‫و ...‬
‫و‬

‫‪Space‬‬

‫.‬

‫.‬

‫.‬
‫مثال های از سطح ۳‬
‫کیبورد استاندارد فارس‬
‫و…‬
‫و‬

‫‪Right Alt‬‬

‫+‬

‫‪m‬‬
‫مثال های از سطح ۳‬
‫کیبورد استاندارد فارس‬
‫به معنای سلم ‪Hello‬‬
‫‪H‬‬

‫‪e‬‬

‫‪l‬‬

‫‪l‬‬

‫‪o‬‬

‫ب‬

‫ه‬

‫ن‬

‫ا‬

‫ی‬

‫س‬

‫ل‬

‫ا‬

‫م‬

‫م‬

‫ع‬
‫مثال های از سطح ۳‬
‫کیبورد استاندارد فارس‬
‫‪ Hello‬به معنای سلم‬
‫‪+ right Alt‬‬
‫ه‬
‫م‬

‫م‬

‫0‬

‫‪H‬‬

‫‪e‬‬

‫‪l‬‬

‫‪l‬‬

‫‪o‬‬

‫ب‬

‫ع‬

‫ن‬

‫ا‬

‫ی‬

‫س‬

‫ل‬

‫ا‬
‫مثال های از سطح ۳‬
‫کیبورد استاندارد فارس‬
‫وارد درایو ‪ /:c‬شوید‬
‫و‬

‫ا‬

‫ر‬

‫د‬

‫د‬

‫ر‬

‫ا‬

‫‪c‬‬

‫:‬

‫/‬

‫ش‬

‫و‬

‫ی‬

‫د‬

‫ی‬

‫و‬
‫مثال های از سطح ۳‬
‫کیبورد استاندارد فارس‬
‫وارد درایو /:‪ c‬شوید‬
‫و‬

‫ا‬

‫‪+ right Alt‬‬
‫ش‬

‫و‬

‫ر‬

‫د‬

‫د‬

‫ر‬

‫[‬

‫‪c‬‬

‫:‬

‫/‬

‫ی‬

‫د‬

‫ا‬

‫ی‬

‫‪+ right Alt‬‬

‫و‬
‫‪p‬‬
‫کیبورد استاندارد فارس و‬
‫سازگاری با گذشته‬
Persian Standard keyboard
and backward compatibility
‫با تشکر از وهقت و حوصله شما‬
Thank you for your time and patience
‫پرسش و پاسخ‬
‫“‪”Question/Answer‬‬

‫ک‬
‫یون کد‬
‫توسط بیژن ابراهیم‬

More Related Content

Viewers also liked

Digital Image Processing and Edge Detection
Digital Image Processing and Edge DetectionDigital Image Processing and Edge Detection
Digital Image Processing and Edge DetectionSeda Yalçın
 
Ascii and Unicode (Character Codes)
Ascii and Unicode (Character Codes)Ascii and Unicode (Character Codes)
Ascii and Unicode (Character Codes)Project Student
 
Putting Out Fires with Content Strategy (InfoDevDC meetup)
Putting Out Fires with Content Strategy (InfoDevDC meetup)Putting Out Fires with Content Strategy (InfoDevDC meetup)
Putting Out Fires with Content Strategy (InfoDevDC meetup)John Collins
 
Django & Drupal: A Tale of Two Cities
Django & Drupal: A Tale of Two CitiesDjango & Drupal: A Tale of Two Cities
Django & Drupal: A Tale of Two CitiesDonna Benjamin
 
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)John Collins
 
Bank Account Of Life
Bank Account Of LifeBank Account Of Life
Bank Account Of LifeNafass
 
My Valentine Gift - YOU Decide
My Valentine Gift - YOU DecideMy Valentine Gift - YOU Decide
My Valentine Gift - YOU DecideSizzlynRose
 
How to make intelligent web apps
How to make intelligent web appsHow to make intelligent web apps
How to make intelligent web appsiapain
 
My trans kit checklist gw1 ds1_gw3
My trans kit checklist gw1 ds1_gw3My trans kit checklist gw1 ds1_gw3
My trans kit checklist gw1 ds1_gw3David Sommer
 
Conspiracy Profile
Conspiracy ProfileConspiracy Profile
Conspiracy Profilecharlyheus
 
Linguistic Potluck: Crowdsourcing localization with Rails
Linguistic Potluck: Crowdsourcing localization with RailsLinguistic Potluck: Crowdsourcing localization with Rails
Linguistic Potluck: Crowdsourcing localization with RailsHeatherRivers
 
Putting Out Fires with Content Strategy (STC Academic SIG)
Putting Out Fires with Content Strategy (STC Academic SIG)Putting Out Fires with Content Strategy (STC Academic SIG)
Putting Out Fires with Content Strategy (STC Academic SIG)John Collins
 
SharePoint Exchange Forum - 10 Worst Mistakes in SharePoint Branding
SharePoint Exchange Forum - 10 Worst Mistakes in SharePoint BrandingSharePoint Exchange Forum - 10 Worst Mistakes in SharePoint Branding
SharePoint Exchange Forum - 10 Worst Mistakes in SharePoint BrandingMarcy Kellar
 
Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...
Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...
Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...Ronald G. Shapiro
 
Edge Amsterdam profile
Edge Amsterdam profileEdge Amsterdam profile
Edge Amsterdam profilecharlyheus
 

Viewers also liked (19)

Character Sets
Character SetsCharacter Sets
Character Sets
 
Digital Image Processing and Edge Detection
Digital Image Processing and Edge DetectionDigital Image Processing and Edge Detection
Digital Image Processing and Edge Detection
 
Ascii and Unicode (Character Codes)
Ascii and Unicode (Character Codes)Ascii and Unicode (Character Codes)
Ascii and Unicode (Character Codes)
 
Putting Out Fires with Content Strategy (InfoDevDC meetup)
Putting Out Fires with Content Strategy (InfoDevDC meetup)Putting Out Fires with Content Strategy (InfoDevDC meetup)
Putting Out Fires with Content Strategy (InfoDevDC meetup)
 
Aids to creativity
Aids to creativityAids to creativity
Aids to creativity
 
Django & Drupal: A Tale of Two Cities
Django & Drupal: A Tale of Two CitiesDjango & Drupal: A Tale of Two Cities
Django & Drupal: A Tale of Two Cities
 
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
Strategies for Friendly English and Successful Localization (InfoDevWorld 2014)
 
Shrunken Head
 Shrunken Head  Shrunken Head
Shrunken Head
 
Bank Account Of Life
Bank Account Of LifeBank Account Of Life
Bank Account Of Life
 
My Valentine Gift - YOU Decide
My Valentine Gift - YOU DecideMy Valentine Gift - YOU Decide
My Valentine Gift - YOU Decide
 
How to make intelligent web apps
How to make intelligent web appsHow to make intelligent web apps
How to make intelligent web apps
 
Silmeyiniz
SilmeyinizSilmeyiniz
Silmeyiniz
 
My trans kit checklist gw1 ds1_gw3
My trans kit checklist gw1 ds1_gw3My trans kit checklist gw1 ds1_gw3
My trans kit checklist gw1 ds1_gw3
 
Conspiracy Profile
Conspiracy ProfileConspiracy Profile
Conspiracy Profile
 
Linguistic Potluck: Crowdsourcing localization with Rails
Linguistic Potluck: Crowdsourcing localization with RailsLinguistic Potluck: Crowdsourcing localization with Rails
Linguistic Potluck: Crowdsourcing localization with Rails
 
Putting Out Fires with Content Strategy (STC Academic SIG)
Putting Out Fires with Content Strategy (STC Academic SIG)Putting Out Fires with Content Strategy (STC Academic SIG)
Putting Out Fires with Content Strategy (STC Academic SIG)
 
SharePoint Exchange Forum - 10 Worst Mistakes in SharePoint Branding
SharePoint Exchange Forum - 10 Worst Mistakes in SharePoint BrandingSharePoint Exchange Forum - 10 Worst Mistakes in SharePoint Branding
SharePoint Exchange Forum - 10 Worst Mistakes in SharePoint Branding
 
Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...
Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...
Games To Explain Human Factors: Come, Participate, Learn & Have Fun!!! Photo ...
 
Edge Amsterdam profile
Edge Amsterdam profileEdge Amsterdam profile
Edge Amsterdam profile
 

Unicode, character encodings in programming and standard persian keyboard layout