ISO 10646 support

ISO 10646 support

Chris G.'s picture

Can you advise me please on ISO 10646 support? I need to supply this in some software I am writing, and it's not something I have done before.

As a test  I have copied a routine fromMetcalf, Reid and Cohen's book (page 310). It's not complete, but I have tried to compile the following:

  subroutine japanese_date_stamp(string)
  integer, parameter:: ucs4 = selected_char_kind('ISO_10646')
  character(*,ucs4),intent(out) :: string
  integer :: val(8)

.........

This won't compile. I get the error message for line 3:

This is an incorrect value for a kind type parameter in this context.

Is there an issue with ISO 10646 support in Intel Fortran (2012)?

With thanks

Chris

7 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.
Steve Lionel (Intel)'s picture

Intel Fortran does not currently support character sets other than ISO/IEC 646:1991 (ASCII).

Steve
Chris G.'s picture

Are there any plans for this at Intel?

Steve Lionel (Intel)'s picture

Not in the immediate future. We're investigating what needs to be done for other character sets. Multibyte character sets have a very broad impact across the product - it's not a trivial effort.

You can use integer arrays to hold such strings and use the provided "Multinational" support (MB_xxx routines) to manipulate them. We have customers doing this.

Steve
Chris G.'s picture

Yes, I can see that this is a very large effort. Thanks for your help.

Chris

rase's picture

I think I remember faintly that the C/C++ compiler supports multinational character strings. Or is the support for C/C++ provided by the mentioned MB-xxx routines?

Steve Lionel (Intel)'s picture

No, the C/C++ support is independent.

Steve

Login to leave a comment.