I experimented a little and got the following result. If I leave the argument in UTF8 format (this is the default format, when typing in some string from the keyboard, right?) then I will get domain error and variable pointing to memory address is 0
syllabification 'nägin' |domain error: memr | syllables=:zerocut> memr aadress,0,128 aadress 0 If I pass the argument in unicode format then dll will process the word, but eliminates the umlaut characters syl =: syllabification ucp 'nägin' syl ┌──┬───┐ │n│gin│ └──┴───┘ datatype each syl ┌───────┬───────┐ │literal│literal│ └───────┴───────┘ I have also another question regarding umlaut characters: when I write text into file for example 2500 characters then the file is saved in UTF format, but when for example 3000 characters then the file is saved in ANSI format. I can't see any sense in that behaviour. Kairit Sirts > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:programming- > [EMAIL PROTECTED] On Behalf Of Eric Iverson > Sent: Sunday, September 23, 2007 10:14 PM > To: Programming forum > Subject: Re: [Jprogramming] passing unicode argument to dll > > If the data is utf8 then you want *c declarations. If the data is utf16 > then > you want *w declarations. > > ----- Original Message ----- > From: "Kairit Sirts" <[EMAIL PROTECTED]> > To: "'Programming forum'" <[email protected]> > Sent: Sunday, September 23, 2007 6:34 AM > Subject: [Jprogramming] passing unicode argument to dll > > > Hi! > > I pass an unicode argument to dll and I expect to get back also unicode > argument, but the result is type of literal. > > word > ┌──────┐ > │nägin│ > └──────┘ > datatype >word > unicode > > > script_z_ '~system\main\dll.ijs' > syllabify=: >@{.@('C:\j601\addons\syllabif\syllabif.dll syllabify *c > *c'&cd) > > NUL =. 0 { a. > zerocut =: {.~i.&NUL > > syllabification =: 3 : 0 > 1!:44 'C:\j601\addons\syllabif' > r =. syllabify < y > aadress =. (;(0{r)) > syllables =. zerocut > memr aadress, 0, 128 > jaga syllables > ) > > > The fragment " memr aadress, 0, 128" will give the result: > > memr aadress, 0, 128 > n-gin > > datatype memr aadress, 0, 128 > literal > > How to save the umlaut charaters while processing? It is not restricted to > use umlaut characters in this dll. Strange thing is, that I have used this > dll for this task already earlier and I can't recall there was such > problem > then > > Kairit Sirts > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
